"""Write analysis/transcripts/<id>.txt from raw/videos/<id>.{ko-orig,ko,en-orig}.vtt (first one found).

usage: python3 transcripts.py <research_dir> [--since YYYYMMDD]
Auto-subtitles are ASR: quote them as "자동자막 기준" and prefer the project's own script when it exists."""
import argparse, json, os, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from vtt2txt import parse

ap = argparse.ArgumentParser(); ap.add_argument('research_dir'); ap.add_argument('--since', default='00000000')
a = ap.parse_args(); r = a.research_dir
os.makedirs(os.path.join(r, 'analysis', 'transcripts'), exist_ok=True)
none = []
for v in json.load(open(os.path.join(r, 'analysis', 'videos.json'))):
    if v['upload_date'] < a.since: continue
    src = next((p for p in (os.path.join(r, 'raw', 'videos', f"{v['id']}.{l}.vtt") for l in ('ko-orig', 'ko', 'en-orig')) if os.path.exists(p)), None)
    if not src: none.append(v['id']); continue
    with open(os.path.join(r, 'analysis', 'transcripts', f"{v['id']}.txt"), 'w') as f:
        f.write('\n'.join(f"{t // 60:02d}:{t % 60:02d} {l}" for t, l in parse(src)))
print('no subtitles:', none or 'none')
