commits
tags
"""Ö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 <run_id> # en specifik körning (id från webui:t)
python -m rpa.show_trace <sökväg.zip> # 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()