#!/usr/bin/env python3
"""Inspeksi jadwal Threads @ukyhandoko (khusus audit job image harian)."""
import json, sys
from datetime import datetime, timezone, timedelta

sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import get_client
import repliz_openssl_transport
repliz_openssl_transport.install(verbose=False)

UKY_T = "6a334e89c5ff4ce3a3225a48"
WIB = timedelta(hours=7)

c = get_client()
r = c.get_schedules(page=1, limit=100)
total = r["totalDocs"]
pages = (total + 99) // 100
docs = list(r["docs"])
for p in range(2, pages + 1):
    docs.extend(c.get_schedules(page=p, limit=100)["docs"])
print(f"fetched {len(docs)}/{total} jadwal total")

mine = []
for d in docs:
    acc = d.get("account") or {}
    accid = d.get("accountId") or acc.get("id") or acc.get("_id") or ""
    if accid == UKY_T:
        mine.append(d)
print(f"jadwal Threads uky: {len(mine)}")

mine.sort(key=lambda x: str(x.get("scheduleAt")))
for d in mine:
    at = d.get("scheduleAt")
    try:
        dt = datetime.fromisoformat(str(at).replace("Z", "+00:00")) + WIB
        ts = dt.strftime("%Y-%m-%d %H:%M WIB")
    except Exception:
        ts = str(at)
    meds = d.get("medias") or []
    base = (meds[0].get("url") or "").rsplit("/", 1)[-1] if meds else "-"
    desc = d.get("description") or ""
    print(f"id={d.get('id')} | {ts} | status={d.get('status')} | type={d.get('type')} | media={base}")
    print(f"   title={(d.get('title') or '')[:70]!r} topic_len={len(d.get('topic') or '')} topic={(d.get('topic') or '')[:55]!r}")
    print(f"   desc_len={len(desc)} replies={len(d.get('replies') or [])} newline2={chr(10)*2 in desc}")
