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

@@ -11,11 +11,19 @@ from cmdlet import register
from cmdlet._shared import Cmdlet, CmdletArg
import pipeline as ctx
from SYS.logger import log
from config import get_local_storage_path
from SYS.config import get_local_storage_path
DEFAULT_LIMIT = 100
WORKER_STATUS_FILTERS = {"running", "completed", "error", "cancelled"}
HELP_FLAGS = {"-?", "/?", "--help", "-h", "help", "--cmdlet"}
WORKER_STATUS_FILTERS = {"running",
"completed",
"error",
"cancelled"}
HELP_FLAGS = {"-?",
"/?",
"--help",
"-h",
"help",
"--cmdlet"}
CMDLET = Cmdlet(
name=".worker",
@@ -28,14 +36,21 @@ CMDLET = Cmdlet(
requires_db=True,
),
CmdletArg(
"limit", type="integer", description="Limit results (default: 100)", requires_db=True
"limit",
type="integer",
description="Limit results (default: 100)",
requires_db=True
),
CmdletArg(
"@N",
description="Select worker by index (1-based) and display full logs",
requires_db=True,
),
CmdletArg("-id", description="Show full logs for a specific worker", requires_db=True),
CmdletArg(
"-id",
description="Show full logs for a specific worker",
requires_db=True
),
CmdletArg(
"-clear",
type="flag",
@@ -75,7 +90,9 @@ def _run(result: Any, args: Sequence[str], config: Dict[str, Any]) -> int:
"""Display workers table or show detailed logs for a specific worker."""
args_list = [str(arg) for arg in (args or [])]
selection_indices = ctx.get_last_selection()
selection_requested = bool(selection_indices) and isinstance(result, list) and len(result) > 0
selection_requested = bool(selection_indices) and isinstance(result,
list
) and len(result) > 0
if _has_help_flag(args_list):
ctx.emit(CMDLET.__dict__)
@@ -130,16 +147,20 @@ def _parse_worker_args(args_list: Sequence[str]) -> WorkerCommandOptions:
while i < len(args_list):
arg = args_list[i]
low = arg.lower()
if low in {"-limit", "--limit"} and i + 1 < len(args_list):
if low in {"-limit",
"--limit"} and i + 1 < len(args_list):
options.limit = _normalize_limit(args_list[i + 1])
i += 2
elif low in {"-id", "--id"} and i + 1 < len(args_list):
elif low in {"-id",
"--id"} and i + 1 < len(args_list):
options.worker_id = args_list[i + 1]
i += 2
elif low in {"-clear", "--clear"}:
elif low in {"-clear",
"--clear"}:
options.clear = True
i += 1
elif low in {"-status", "--status"} and i + 1 < len(args_list):
elif low in {"-status",
"--status"} and i + 1 < len(args_list):
options.status = args_list[i + 1].lower()
i += 2
elif low in WORKER_STATUS_FILTERS:
@@ -163,7 +184,9 @@ def _normalize_limit(value: Any) -> int:
def _render_worker_list(db, status_filter: str | None, limit: int) -> int:
workers = db.get_all_workers(limit=limit)
if status_filter:
workers = [w for w in workers if str(w.get("status", "")).lower() == status_filter]
workers = [
w for w in workers if str(w.get("status", "")).lower() == status_filter
]
if not workers:
log("No workers found", file=sys.stderr)
@@ -179,14 +202,22 @@ def _render_worker_list(db, status_filter: str | None, limit: int) -> int:
item = {
"columns": [
("Status", worker.get("status", "")),
("Pipe", _summarize_pipe(worker.get("pipe"))),
("Date", date_str),
("Start Time", start_time),
("End Time", end_time),
("Status",
worker.get("status",
"")),
("Pipe",
_summarize_pipe(worker.get("pipe"))),
("Date",
date_str),
("Start Time",
start_time),
("End Time",
end_time),
],
"__worker_metadata": worker,
"_selection_args": ["-id", worker.get("worker_id")],
"__worker_metadata":
worker,
"_selection_args": ["-id",
worker.get("worker_id")],
}
ctx.emit(item)
return 0
@@ -206,8 +237,8 @@ def _render_worker_selection(db, selected_items: Any) -> int:
try:
events = (
db.get_worker_events(worker.get("worker_id"))
if hasattr(db, "get_worker_events")
else []
if hasattr(db,
"get_worker_events") else []
)
except Exception:
events = []
@@ -267,9 +298,12 @@ def _emit_worker_detail(worker: Dict[str, Any], events: List[Dict[str, Any]]) ->
item = {
"columns": [
("Time", timestamp),
("Level", level),
("Message", message),
("Time",
timestamp),
("Level",
level),
("Message",
message),
]
}
ctx.emit(item)
@@ -281,7 +315,7 @@ def _summarize_pipe(pipe_value: Any, limit: int = 60) -> str:
text = str(pipe_value or "").strip()
if not text:
return "(none)"
return text if len(text) <= limit else text[: limit - 3] + "..."
return text if len(text) <= limit else text[:limit - 3] + "..."
def _format_event_timestamp(raw_timestamp: Any) -> str: