Skip to content

Commit f931bc1

Browse files
committed
Add new --reset command to reset config, providers (or all)
1 parent 72a96e2 commit f931bc1

File tree

1 file changed

+39
-1
lines changed

1 file changed

+39
-1
lines changed

llms/main.py

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3775,7 +3775,14 @@ def create_arg_parser():
37753775

37763776
parser.add_argument("--init", action="store_true", help="Create a default llms.json")
37773777
parser.add_argument("--update-providers", action="store_true", help="Update local models.dev providers.json")
3778-
parser.add_argument("--reset-config", action="store_true", help="Reset ~/.llms/llms.json to default")
3778+
parser.add_argument(
3779+
"--reset",
3780+
nargs="?",
3781+
const="ls",
3782+
default=None,
3783+
help="Reset configuration (config|providers|all)",
3784+
metavar="TYPE",
3785+
)
37793786

37803787
parser.add_argument("--logprefix", default="", help="Prefix used in log messages", metavar="PREFIX")
37813788
parser.add_argument("--verbose", action="store_true", help="Verbose output")
@@ -3883,6 +3890,37 @@ def cli_exec(cli_args, extra_args):
38833890
print(f"Updated {home_providers_path}")
38843891
return ExitCode.SUCCESS
38853892

3893+
if cli_args.reset:
3894+
if cli_args.reset not in ["config", "providers", "all"]:
3895+
print("Available resets:")
3896+
print(" config - Reset ~/.llms/llms.json to default")
3897+
print(" providers - Reset ~/.llms/providers.json and ~/.llms/providers-extra.json to default")
3898+
print(" all - Reset all configuration")
3899+
return ExitCode.SUCCESS if cli_args.reset == "ls" else ExitCode.FAILED
3900+
3901+
if cli_args.reset == "config" or cli_args.reset == "all":
3902+
asyncio.run(save_default_config(home_config_path))
3903+
print(f"Reset config at {home_config_path}")
3904+
3905+
if cli_args.reset == "providers" or cli_args.reset == "all":
3906+
if os.path.exists(home_providers_path):
3907+
os.unlink(home_providers_path)
3908+
asyncio.run(save_text_url(github_url("providers.json"), home_providers_path))
3909+
print(f"Reset providers at {home_providers_path}")
3910+
3911+
if os.path.exists(home_providers_extra_path):
3912+
os.unlink(home_providers_extra_path)
3913+
asyncio.run(save_text_url(github_url("providers-extra.json"), home_providers_extra_path))
3914+
print(f"Reset extra providers at {home_providers_extra_path}")
3915+
3916+
try:
3917+
asyncio.run(update_providers(home_providers_path))
3918+
print(f"Updated {home_providers_path}")
3919+
except Exception as e:
3920+
_err("Failed to update providers", e)
3921+
3922+
return ExitCode.SUCCESS
3923+
38863924
# if home_providers_path is older than 1 day, update providers list
38873925
if (
38883926
os.path.exists(home_providers_path)

0 commit comments

Comments
 (0)