import json
def total(segs):
    return sum(c["seconds"] for s in segs for c in s.get("cuts", []))
for ep in [2,7,12]:
    sp = json.load(open("小说2/storyboard-work/ep-%02d-specs.json"%ep,encoding="utf-8"))["specs"]
    ej = json.load(open("小说2/storyboard-work/ep-%02d.json"%ep,encoding="utf-8"))
    print("ep%02d spec_plan_total=%.1f epfile_total=%.1f segs=%d" % (ep, sum(c[2] for s in sp for c in s["plan"]), total(ej["segments"]), len(ej["segments"])))
    for s in sp:
        pt = sum(c[2] for c in s["plan"])
        for seg in ej["segments"]:
            if seg["id"]==s["seg"]:
                ft = sum(c["seconds"] for c in seg["cuts"])
                if abs(ft-pt) > 0.05:
                    print("   %s plan=%.1f file=%.1f" % (s["seg"], pt, ft))
# E06-05#3
ej = json.load(open("小说2/storyboard-work/ep-06.json",encoding="utf-8"))
seg = next(s for s in ej["segments"] if s["id"]=="E06-05")
c3 = seg["cuts"][2]
print("E06-05 #3 beats=", c3["beats"], "secs=", repr(c3["seconds"]))
sc = next(x for x in ej["seedScenes"] if x["sceneIndex"]==seg["sceneIndex"])
for b in sc["beats"]:
    if c3["beats"][0] <= b["n"] <= c3["beats"][1] and b.get("kind")=="line":
        print("   line b%d secs=%r %s" % (b["n"], b["seconds"], b["text"][:16]))
