h
This commit is contained in:
@@ -586,6 +586,52 @@ class search_file(Cmdlet):
|
||||
if store_filter and not storage_backend:
|
||||
storage_backend = store_filter
|
||||
|
||||
# If the user accidentally used `-store <provider>` or `store:<provider>`,
|
||||
# prefer to treat it as a provider search (providers like 'alldebrid' are not store backends).
|
||||
try:
|
||||
from Store.registry import list_configured_backend_names
|
||||
providers_map = list_search_providers(config)
|
||||
configured = list_configured_backend_names(config or {})
|
||||
if storage_backend:
|
||||
matched = None
|
||||
for p in (providers_map or {}):
|
||||
if str(p).strip().lower() == str(storage_backend).strip().lower():
|
||||
matched = p
|
||||
break
|
||||
if matched and str(storage_backend) not in configured:
|
||||
log(f"Note: Treating '-store {storage_backend}' as provider search for '{matched}'", file=sys.stderr)
|
||||
return self._run_provider_search(
|
||||
provider_name=matched,
|
||||
query=query,
|
||||
limit=limit,
|
||||
limit_set=limit_set,
|
||||
open_id=open_id,
|
||||
args_list=args_list,
|
||||
refresh_mode=refresh_mode,
|
||||
config=config,
|
||||
)
|
||||
elif store_filter:
|
||||
matched = None
|
||||
for p in (providers_map or {}):
|
||||
if str(p).strip().lower() == str(store_filter).strip().lower():
|
||||
matched = p
|
||||
break
|
||||
if matched and str(store_filter) not in configured:
|
||||
log(f"Note: Treating 'store:{store_filter}' as provider search for '{matched}'", file=sys.stderr)
|
||||
return self._run_provider_search(
|
||||
provider_name=matched,
|
||||
query=query,
|
||||
limit=limit,
|
||||
limit_set=limit_set,
|
||||
open_id=open_id,
|
||||
args_list=args_list,
|
||||
refresh_mode=refresh_mode,
|
||||
config=config,
|
||||
)
|
||||
except Exception:
|
||||
# Be conservative: if provider detection fails, fall back to store behaviour
|
||||
pass
|
||||
|
||||
hash_query = parse_hash_query(query)
|
||||
|
||||
if not query:
|
||||
@@ -644,6 +690,8 @@ class search_file(Cmdlet):
|
||||
from Store._base import Store as BaseStore
|
||||
|
||||
backend_to_search = storage_backend or None
|
||||
|
||||
|
||||
if hash_query:
|
||||
# Explicit hash list search: build rows from backend metadata.
|
||||
backends_to_try: List[str] = []
|
||||
|
||||
Reference in New Issue
Block a user