diff --git a/app.py b/app.py index 6c52d7c..8a0ddcc 100644 --- a/app.py +++ b/app.py @@ -728,6 +728,24 @@ def prompt_delete(prompt_id: int): return HTMLResponse("") +def _fmt_elapsed(start_iso: Optional[str], end_iso: Optional[str] = None) -> str: + if not start_iso: + return "-" + try: + s = datetime.fromisoformat(start_iso) + e = datetime.fromisoformat(end_iso) if end_iso else datetime.now() + sec = max(0, int((e - s).total_seconds())) + if sec < 60: + return f"{sec}s" + m, s2 = divmod(sec, 60) + if m < 60: + return f"{m}m {s2}s" + h, m2 = divmod(m, 60) + return f"{h}h {m2}m" + except Exception: + return "-" + + def _jobs_payload(limit: int = 200): with db() as c: jobs = c.execute( @@ -783,7 +801,7 @@ def jobs_page(queued: Optional[int] = None): items = _jobs_payload(200) pre = "".join([ ( - f"