#!/usr/bin/env python3 """Shim: translate_srt_local Delegates to `whisper_project.infra.marian_adapter.MarianTranslator.translate_srt` if available; otherwise falls back to running the script in `examples/`. """ from __future__ import annotations import argparse import subprocess import sys def main(): p = argparse.ArgumentParser(prog="translate_srt_local") p.add_argument("--in", dest="in_srt", required=True) p.add_argument("--out", dest="out_srt", required=True) args = p.parse_args() try: # Prefer the infra adapter when available from whisper_project.infra.marian_adapter import MarianTranslator t = MarianTranslator() t.translate_srt(args.in_srt, args.out_srt) return except Exception: # Fallback: run the examples script if present try: script = "examples/translate_srt_local.py" cmd = [sys.executable, script, "--in", args.in_srt, "--out", args.out_srt] subprocess.run(cmd, check=True) return except Exception: import logging logger = logging.getLogger(__name__) logger.exception("Error al ejecutar la traducción local") sys.exit(1) if __name__ == "__main__": sys.exit(main() or 0)