#!/usr/bin/env python3
"""Verifikasi independen hc48: baca ULANG dari API Repliz (jadwal + replies + media)."""
import re, sys, time
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import ReplizClient, ACC

c = ReplizClient()
IDS = {
    "threads_album": "6ab8173074292ea3cbcea7cf",
    "linkedin": "6ab817300723d7da883721d9",
    "facebook": "6ab8173074292ea3cbcea7e8",
}


def get(ep, tries=5):
    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


for name, sid in IDS.items():
    d = get("/public/schedule/%s" % sid)
    doc = d.get("doc") or d.get("data") or d
    print("=" * 90)
    print("%s (%s)" % (name, sid))
    print("  status     :", doc.get("status"))
    print("  accountId  :", doc.get("accountId"))
    print("  scheduleAt :", doc.get("scheduleAt"))
    print("  type       :", doc.get("type"))
    print("  title      :", (doc.get("title") or "")[:80])
    med = doc.get("medias") or []
    print("  medias(%d) :" % len(med))
    for m in med:
        print("      ", m.get("url"))
    rep = doc.get("replies") or []
    print("  replies(%d):" % len(rep), [r.get("_id") or r.get("scheduleId") or r for r in rep])
    desc = doc.get("description") or ""
    print("  desc %d char | ekor: %s" % (len(desc), desc[-120:].replace("\n", " / ")))

# cari reply yang menunjuk album Threads
print("=" * 90)
print("Cek 2 replies anak album (via dump jadwal Threads SS 2026-09-28):")
docs, page = [], 1
while True:
    d = get("/public/schedule?page=%d&limit=100" % page)
    docs.extend(d.get("docs", []))
    if page >= (d.get("totalPages") or 1):
        break
    page += 1
for s in docs:
    if s.get("accountId") == ACC.STUDIOSOFT_THREADS and (s.get("scheduleAt") or "").startswith("2026-09-28T02:0"):
        print("  %s %s type=%s medias=%d -> %s" % (
            s.get("scheduleAt"), s.get("status"), s.get("type"), len(s.get("medias") or []),
            (s.get("description") or "")[:60].replace("\n", " / ")))
print("total docs:", len(docs))
