import importlib
import json
import sys
from pathlib import Path

sys.path.insert(0, r"C:\Users\c5717\Downloads\modgle-demo-faces")
import generate_faces as gf

importlib.reload(gf)

root = Path(r"C:\Users\c5717\Downloads\modgle-demo-faces")
have = {p.name for p in root.glob("DEMO*.jpg") if p.stat().st_size > 8000}
people = gf.load_people()
todo = []
for p in people:
    fn = f"{p['demo_id']}.jpg"
    if fn in have:
        continue
    prompt, kind = gf.build_prompt(p)
    todo.append(
        {
            "demo_id": p["demo_id"],
            "display_name": p["display_name"],
            "gender": p["gender"],
            "age": int(p["age"]) if p["age"] is not None else 30,
            "country": p["country"],
            "kind": kind,
            "prompt": prompt,
        }
    )
print("todo", len(todo))
n = 4
for i in range(n):
    shard = todo[i::n]
    path = root / f"shard_{i+1}.json"
    path.write_text(json.dumps(shard, indent=2), encoding="utf-8")
    print(path.name, len(shard), shard[0]["demo_id"], "->", shard[-1]["demo_id"])
