Skip to content

Commit 866f36f

Browse files
committed
✨ add initial support for accessing unpublished adapters
1 parent 2451152 commit 866f36f

File tree

1 file changed

+49
-8
lines changed

1 file changed

+49
-8
lines changed

nb_cli/cli/commands/adapter.py

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,21 +70,37 @@ async def adapter(ctx: click.Context):
7070
@adapter.command(
7171
name="list", help=_("List nonebot adapters published on nonebot homepage.")
7272
)
73+
@click.option(
74+
"--include-unpublished-adapters",
75+
is_flag=True,
76+
default=False,
77+
flag_value=True,
78+
help=_("Whether to include unpublished adapters."),
79+
)
7380
@run_async
74-
async def list_():
75-
adapters = await list_adapters()
81+
async def list_(include_unpublished_adapters: bool = False):
82+
adapters = await list_adapters(include_unpublished=include_unpublished_adapters)
7683
click.echo(format_package_results(adapters))
7784

7885

7986
@adapter.command(help=_("Search for nonebot adapters published on nonebot homepage."))
87+
@click.option(
88+
"--include-unpublished-adapters",
89+
is_flag=True,
90+
default=False,
91+
flag_value=True,
92+
help=_("Whether to include unpublished adapters."),
93+
)
8094
@click.argument("name", nargs=1, default=None)
8195
@run_async
82-
async def search(name: Optional[str]):
96+
async def search(name: Optional[str], include_unpublished_adapters: bool = False):
8397
if name is None:
8498
name = await InputPrompt(_("Adapter name to search:")).prompt_async(
8599
style=CLI_DEFAULT_STYLE
86100
)
87-
adapters = await list_adapters(name)
101+
adapters = await list_adapters(
102+
name, include_unpublished=include_unpublished_adapters
103+
)
88104
click.echo(format_package_results(adapters))
89105

90106

@@ -96,6 +112,13 @@ async def search(name: Optional[str]):
96112
@click.option(
97113
"--no-restrict-version", nargs=1, is_flag=True, flag_value=True, default=False
98114
)
115+
@click.option(
116+
"--include-unpublished-adapters",
117+
is_flag=True,
118+
default=False,
119+
flag_value=True,
120+
help=_("Whether to include unpublished adapters."),
121+
)
99122
@click.argument("name", nargs=1, default=None)
100123
@click.argument("pip_args", nargs=-1, default=None)
101124
@click.pass_context
@@ -105,10 +128,13 @@ async def install(
105128
no_restrict_version: bool,
106129
name: Optional[str],
107130
pip_args: Optional[list[str]],
131+
include_unpublished_adapters: bool = False,
108132
):
109133
try:
110134
adapter = await find_exact_package(
111-
_("Adapter name to install:"), name, await list_adapters()
135+
_("Adapter name to install:"),
136+
name,
137+
await list_adapters(include_unpublished=include_unpublished_adapters),
112138
)
113139
except CancelledError:
114140
return
@@ -153,13 +179,26 @@ async def install(
153179
@adapter.command(
154180
context_settings={"ignore_unknown_options": True}, help=_("Update nonebot adapter.")
155181
)
182+
@click.option(
183+
"--include-unpublished-adapters",
184+
is_flag=True,
185+
default=False,
186+
flag_value=True,
187+
help=_("Whether to include unpublished adapters."),
188+
)
156189
@click.argument("name", nargs=1, default=None)
157190
@click.argument("pip_args", nargs=-1, default=None)
158191
@run_async
159-
async def update(name: Optional[str], pip_args: Optional[list[str]]):
192+
async def update(
193+
name: Optional[str],
194+
pip_args: Optional[list[str]],
195+
include_unpublished_adapters: bool = False,
196+
):
160197
try:
161198
adapter = await find_exact_package(
162-
_("Adapter name to update:"), name, await list_adapters()
199+
_("Adapter name to update:"),
200+
name,
201+
await list_adapters(include_unpublished=include_unpublished_adapters),
163202
)
164203
except CancelledError:
165204
return
@@ -188,7 +227,9 @@ async def update(name: Optional[str], pip_args: Optional[list[str]]):
188227
async def uninstall(name: Optional[str], pip_args: Optional[list[str]]):
189228
try:
190229
adapter = await find_exact_package(
191-
_("Adapter name to uninstall:"), name, await list_adapters()
230+
_("Adapter name to uninstall:"),
231+
name,
232+
await list_adapters(include_unpublished=True),
192233
)
193234
except CancelledError:
194235
return

0 commit comments

Comments
 (0)