import json
from b01_verify import load_part_modules, check, BASE, SRC

PART_FILES = ['b01_part1', 'b01_part2', 'b01_part3', 'b01_part4', 'b01_part5', 'b01_part6', 'b01_part7']

def main():
    data = json.load(open(SRC))
    parts = load_part_modules(PART_FILES)

    all_ids = [d['article_id'] for d in data]
    missing = [aid for aid in all_ids if aid not in parts]
    if missing:
        raise SystemExit(f"Missing restructured articles: {missing}")

    ok = check(all_ids, PART_FILES)
    if not ok:
        raise SystemExit("Verification FAILED — fix issues before writing output.")

    out = []
    for d in data:
        aid = d['article_id']
        out.append({
            "article_id": aid,
            "article_title": d['article_title'],
            "sections": parts[aid],
        })

    out_path = f'{BASE}/mdm-01.done.json'
    with open(out_path, 'w') as f:
        json.dump(out, f, ensure_ascii=False, indent=2)

    n_prognosis = sum(1 for d in out if any(s['title'] == 'Prognosis and outcome' for s in d['sections']))
    print(f"Wrote {len(out)} articles to {out_path}")
    print(f"Articles with 'Prognosis and outcome': {n_prognosis}")

if __name__ == '__main__':
    main()
