refactor(download): remove ProviderCore/download.py, move sanitize_filename to SYS.utils, replace callers to use API.HTTP.HTTPClient

This commit is contained in:
2026-01-06 01:38:59 -08:00
parent 3b363dd536
commit 41c11d39fd
38 changed files with 2640 additions and 526 deletions

View File

@@ -9,7 +9,7 @@ from __future__ import annotations
from typing import Any, Dict, Iterable, Optional
from SYS.result_table_api import ColumnSpec, ResultModel, Renderer
from SYS.result_table_api import ColumnSpec, ResultModel, ResultTable, Renderer
class RichRenderer(Renderer):
@@ -65,3 +65,22 @@ def render_to_console(rows: Iterable[ResultModel], columns: Iterable[ColumnSpec]
table = RichRenderer().render(rows, columns, meta)
Console().print(table)
def render_result_table(table: ResultTable, renderer: Optional[Renderer] = None) -> Any:
"""Render a ResultTable with the provided renderer (RichRenderer by default)."""
rend = renderer or RichRenderer()
return rend.render(table.rows, table.columns, table.meta)
def render_result_table_to_console(table: ResultTable, renderer: Optional[Renderer] = None) -> None:
try:
from rich.console import Console
except Exception:
for r in table.rows:
print(" ".join(str((col.extractor(r) or "")) for col in table.columns))
return
console = Console()
console.print(render_result_table(table, renderer))