foxygit / RPA-Remisser Log in
commits tags

/rpa/show_trace.py · 1.16 KB

raw
"""Ö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()