This commit is contained in:
nose
2025-12-19 03:25:52 -08:00
parent 52cf3f5c9f
commit d3edd6420c
9 changed files with 221 additions and 35 deletions

16
CLI.py
View File

@@ -1088,10 +1088,12 @@ def _create_cmdlet_cli():
if isinstance(provider_cfg, dict) and provider_cfg:
try:
from ProviderCore.registry import (
list_providers,
list_search_providers,
list_file_providers,
)
except Exception:
list_providers = None # type: ignore
list_search_providers = None # type: ignore
list_file_providers = None # type: ignore
@@ -1103,6 +1105,13 @@ def _create_cmdlet_cli():
search_availability = {}
file_availability = {}
meta_availability = {}
provider_availability = {}
try:
if list_providers is not None:
provider_availability = list_providers(config) or {}
except Exception:
provider_availability = {}
try:
if list_search_providers is not None:
@@ -1192,7 +1201,12 @@ def _create_cmdlet_cli():
is_known = False
ok = None
if prov in search_availability:
# Prefer unified provider registry for availability (covers providers that
# implement download-only behavior, like Telegram).
if prov in provider_availability:
is_known = True
ok = bool(provider_availability.get(prov))
elif prov in search_availability:
is_known = True
ok = bool(search_availability.get(prov))
elif prov in file_availability: