Initial commit: Dick Show Index pipeline with install script and docs
This commit is contained in:
+50
@@ -0,0 +1,50 @@
|
||||
"""One-command pipeline: feed -> download -> transcribe -> index.
|
||||
|
||||
python run_all.py # everything not yet done
|
||||
python run_all.py --ep 361 # just one episode end-to-end (good first run)
|
||||
python run_all.py --minutes 5 --ep 520 # 5-minute smoke test
|
||||
"""
|
||||
import argparse
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def run(cmd: list[str]) -> int:
|
||||
print(f"\n=== {' '.join(cmd)} ===\n", flush=True)
|
||||
return subprocess.call([sys.executable] + cmd)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument("--ep", type=int, nargs="*", default=None)
|
||||
ap.add_argument("--minutes", type=float, default=None)
|
||||
ap.add_argument("--skip-download", action="store_true")
|
||||
ap.add_argument("--skip-transcribe", action="store_true")
|
||||
ap.add_argument("--force", action="store_true")
|
||||
args = ap.parse_args()
|
||||
|
||||
rc = run(["feed.py"])
|
||||
if rc:
|
||||
return rc
|
||||
|
||||
if not args.skip_download:
|
||||
cmd = ["download.py"] + ([str(e) for e in args.ep] if args.ep else [])
|
||||
if run(cmd):
|
||||
print("download step reported failures; continuing", file=sys.stderr)
|
||||
|
||||
if not args.skip_transcribe:
|
||||
cmd = ["transcribe.py"]
|
||||
if args.ep:
|
||||
cmd += [str(e) for e in args.ep]
|
||||
if args.minutes:
|
||||
cmd += ["--minutes", str(args.minutes)]
|
||||
if args.force:
|
||||
cmd += ["--force"]
|
||||
if run(cmd):
|
||||
return 1
|
||||
|
||||
return run(["index.py"])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user