43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
"""Shim: translate_srt_with_gemini
|
|
|
|
Delegates to `whisper_project.infra.gemini_adapter.GeminiTranslator.translate_srt`
|
|
or falls back to `examples/translate_srt_with_gemini.py`.
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import argparse
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
def main():
|
|
p = argparse.ArgumentParser(prog="translate_srt_with_gemini")
|
|
p.add_argument("--in", dest="in_srt", required=True)
|
|
p.add_argument("--out", dest="out_srt", required=True)
|
|
p.add_argument("--gemini-api-key", dest="gemini_api_key", required=False, default=None)
|
|
args = p.parse_args()
|
|
|
|
try:
|
|
from whisper_project.infra.gemini_adapter import GeminiTranslator
|
|
|
|
g = GeminiTranslator(api_key=args.gemini_api_key)
|
|
g.translate_srt(args.in_srt, args.out_srt)
|
|
return
|
|
except Exception:
|
|
try:
|
|
script = "examples/translate_srt_with_gemini.py"
|
|
cmd = [sys.executable, script, "--in", args.in_srt, "--out", args.out_srt]
|
|
if args.gemini_api_key:
|
|
cmd += ["--gemini-api-key", args.gemini_api_key]
|
|
subprocess.run(cmd, check=True)
|
|
return
|
|
except Exception as e:
|
|
print("Error: no se pudo ejecutar la traducción con Gemini:", e, file=sys.stderr)
|
|
sys.exit(1)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main() or 0)
|
|
|