#!/usr/bin/env python3
"""hc42: cek field replies pada 2 post anak Threads 22 Sep 02:01/02:02 + album."""
import json, sys, time
sys.path.insert(0, '/home/mantapman/.hermes/profiles/atun/workspace')
from repliz_client import ReplizClient, ACC

c = ReplizClient()
ALBUM = "6ab1062202078a414acbaa45"


def get_retry(ep, tries=6):
    last = None
    for i in range(tries):
        try:
            return c.get(ep)
        except Exception as e:
            last = e
            time.sleep(3 + 3 * i)
    raise last


d = get_retry("/public/schedule/%s" % ALBUM)
doc = d.get("doc") or d.get("data") or d
print("ALBUM replies field:", doc.get("replies"))
print("ALBUM keys:", sorted(doc.keys()))

# cari anak via list
docs, page = [], 1
while True:
    r = get_retry("/public/schedule?page=%d&limit=100" % page)
    docs.extend(r.get("docs", []))
    if page >= (r.get("totalPages") or 1):
        break
    page += 1
print("total docs:", len(docs))
for s in docs:
    if s.get("accountId") != ACC.STUDIOSOFT_THREADS:
        continue
    if (s.get("scheduleAt") or "").startswith("2026-09-22T02:0"):
        sid = s.get("_id") or s.get("id")
        print("\nCHILD %s at=%s status=%s" % (sid, s.get("scheduleAt"), s.get("status")))
        print("  list.replies =", s.get("replies"))
        try:
            dd = get_retry("/public/schedule/%s" % sid)
            d2 = dd.get("doc") or dd.get("data") or dd
            print("  byid.replies =", d2.get("replies"))
            print("  byid.parentId =", d2.get("parentId"), "| parent =", d2.get("parent"))
        except Exception as e:
            print("  byid gagal:", e)
