"""Öppnar Playwrights Trace Viewer för en sparad körning. Användning: python -m rpa.show_trace # senaste sparade trace python -m rpa.show_trace # en specifik körning (id från webui:t) python -m rpa.show_trace # valfri trace-fil """ import subprocess import sys from pathlib import Path from . import config def _resolve_path(arg: str | None) -> Path: if arg is None: traces = sorted(config.TRACE_DIR.glob("*.zip"), key=lambda p: p.stat().st_mtime, reverse=True) if not traces: raise SystemExit(f"Inga sparade traces i {config.TRACE_DIR}") return traces[0] direct = Path(arg) if direct.exists(): return direct by_run_id = config.TRACE_DIR / f"{arg}.zip" if by_run_id.exists(): return by_run_id raise SystemExit(f"Hittar ingen trace för {arg!r} (sökte {direct} och {by_run_id})") def main() -> None: arg = sys.argv[1] if len(sys.argv) > 1 else None path = _resolve_path(arg) print(f"Öppnar trace: {path}") subprocess.run([sys.executable, "-m", "playwright", "show-trace", str(path)]) if __name__ == "__main__": main()