import re
import sys
import json

sys.stdout.reconfigure(encoding='utf-8')

with open('FilmMaker/TAP_01_XUAN_SAC_THE_NGUYEN_VA_GIONG_BAO_DOAN_TRUONG.md', 'r', encoding='utf-8') as f:
    text = f.read()

# Let's inspect each scene and its shots
shot_regex = re.compile(
    r'##### Shot (\d+): `(ep01_scene(\d+)_shot(\d+))`\s*\((.*?)\)\n'
    r'-\s*\*\*Cỡ cảnh & Máy quay\*\*:\s*(.*?)\n'
    r'-\s*\*\*Thị giác\*\*:\s*(.*?)\n'
    r'(?:-\s*\*\*Âm thanh 4 Stems\*\*:\s*\n(.*?))?'
    r'(?=(?:##### Shot |##### PHÂN ĐOẠN|#### CẢNH |\Z))',
    re.DOTALL
)

shots = []
for m in shot_regex.finditer(text):
    shots.append({
        'shot_id': m.group(2),
        'scene': int(m.group(3)),
        'shot_num': int(m.group(4)),
        'duration': m.group(5),
        'camera': m.group(6).strip(),
        'visual': m.group(7).strip(),
        'audio': m.group(8).strip() if m.group(8) else ''
    })

print(f"Total extracted: {len(shots)}")
with open('.agents/teamwork/spec_miner_m2_2/extracted_shots.json', 'w', encoding='utf-8') as f:
    json.dump(shots, f, ensure_ascii=False, indent=2)
print("Saved extracted_shots.json")
