Add YAPF style + ignore, and format tracked Python files

This commit is contained in:
2025-12-29 18:42:02 -08:00
parent c019c00aed
commit 507946a3e4
108 changed files with 11664 additions and 6494 deletions

View File

@@ -22,7 +22,7 @@ import pipeline as ctx
# Optional dependencies
try:
from config import get_local_storage_path
from SYS.config import get_local_storage_path
except Exception: # pragma: no cover
get_local_storage_path = None # type: ignore
@@ -33,14 +33,16 @@ class Search_Provider(Cmdlet):
def __init__(self):
super().__init__(
name="search-provider",
summary="Search external providers (bandcamp, libgen, soulseek, youtube, alldebrid, loc, internetarchive)",
summary=
"Search external providers (bandcamp, libgen, soulseek, youtube, alldebrid, loc, internetarchive)",
usage="search-provider -provider <provider> <query> [-limit N] [-open ID]",
arg=[
CmdletArg(
"provider",
type="string",
required=True,
description="Provider name: bandcamp, libgen, soulseek, youtube, alldebrid, loc, internetarchive",
description=
"Provider name: bandcamp, libgen, soulseek, youtube, alldebrid, loc, internetarchive",
),
CmdletArg(
"query",
@@ -49,12 +51,15 @@ class Search_Provider(Cmdlet):
description="Search query (supports provider-specific syntax)",
),
CmdletArg(
"limit", type="int", description="Maximum results to return (default: 50)"
"limit",
type="int",
description="Maximum results to return (default: 50)"
),
CmdletArg(
"open",
type="int",
description="(alldebrid) Open folder/magnet by ID and list its files",
description=
"(alldebrid) Open folder/magnet by ID and list its files",
),
],
detail=[
@@ -100,11 +105,21 @@ class Search_Provider(Cmdlet):
# Dynamic flag variants from cmdlet arg definitions.
flag_registry = self.build_flag_registry()
provider_flags = {
f.lower() for f in (flag_registry.get("provider") or {"-provider", "--provider"})
f.lower()
for f in (flag_registry.get("provider") or {"-provider", "--provider"})
}
query_flags = {
f.lower()
for f in (flag_registry.get("query") or {"-query", "--query"})
}
limit_flags = {
f.lower()
for f in (flag_registry.get("limit") or {"-limit", "--limit"})
}
open_flags = {
f.lower()
for f in (flag_registry.get("open") or {"-open", "--open"})
}
query_flags = {f.lower() for f in (flag_registry.get("query") or {"-query", "--query"})}
limit_flags = {f.lower() for f in (flag_registry.get("limit") or {"-limit", "--limit"})}
open_flags = {f.lower() for f in (flag_registry.get("open") or {"-open", "--open"})}
provider_name: Optional[str] = None
query: Optional[str] = None
@@ -166,7 +181,9 @@ class Search_Provider(Cmdlet):
log(f" {status} {name}", file=sys.stderr)
return 1
debug(f"[search-provider] provider={provider_name}, query={query}, limit={limit}")
debug(
f"[search-provider] provider={provider_name}, query={query}, limit={limit}"
)
# Get provider
provider = get_search_provider(provider_name, config)
@@ -180,7 +197,9 @@ class Search_Provider(Cmdlet):
return 1
worker_id = str(uuid.uuid4())
library_root = get_local_storage_path(config or {}) if get_local_storage_path else None
library_root = get_local_storage_path(
config or {}
) if get_local_storage_path else None
db = None
if library_root:
@@ -219,7 +238,8 @@ class Search_Provider(Cmdlet):
provider_label = "LoC"
else:
provider_label = (
provider_text[:1].upper() + provider_text[1:] if provider_text else "Provider"
provider_text[:1].upper() +
provider_text[1:] if provider_text else "Provider"
)
if provider_lower == "alldebrid" and open_id is not None:
@@ -236,11 +256,22 @@ class Search_Provider(Cmdlet):
if open_id is not None:
# Second-stage: show files for selected folder/magnet.
results = provider.search(
query, limit=limit, filters={"view": "files", "magnet_id": open_id}
query,
limit=limit,
filters={
"view": "files",
"magnet_id": open_id
}
)
else:
# Default: show folders (magnets) so user can select @N.
results = provider.search(query, limit=limit, filters={"view": "folders"})
results = provider.search(
query,
limit=limit,
filters={
"view": "folders"
}
)
else:
results = provider.search(query, limit=limit)
debug(f"[search-provider] Got {len(results)} results")
@@ -256,8 +287,8 @@ class Search_Provider(Cmdlet):
for search_result in results:
item_dict = (
search_result.to_dict()
if hasattr(search_result, "to_dict")
else dict(search_result)
if hasattr(search_result,
"to_dict") else dict(search_result)
)
# Ensure table field is set (should be by provider, but just in case)
@@ -265,21 +296,26 @@ class Search_Provider(Cmdlet):
item_dict["table"] = provider_name
row_index = len(table.rows)
table.add_result(search_result) # ResultTable handles SearchResult objects
table.add_result(
search_result
) # ResultTable handles SearchResult objects
# For AllDebrid folder rows, allow @N to open and show files.
try:
if (
provider_lower == "alldebrid"
and getattr(search_result, "media_kind", "") == "folder"
):
if (provider_lower == "alldebrid" and getattr(search_result,
"media_kind",
"") == "folder"):
magnet_id = None
meta = getattr(search_result, "full_metadata", None)
if isinstance(meta, dict):
magnet_id = meta.get("magnet_id")
if magnet_id is not None:
table.set_row_selection_args(
row_index, ["-open", str(magnet_id), "-query", "*"]
row_index,
["-open",
str(magnet_id),
"-query",
"*"]
)
except Exception:
pass