#!/usr/bin/env python3
"""Fetch semua jadwal Repliz sekali, simpan ke /tmp/scheds_1011.json, lalu ringkas 11 Okt."""
import json, sys, time
from datetime import datetime, timedelta, timezone

sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import get_client, ACC

WIB = timezone(timedelta(hours=7))
client = get_client()

all_docs = []
for p in range(1, 150):
    got = None
    for i in range(12):
        try:
            got = client.get_schedules(page=p, limit=100)
            break
        except Exception as e:
            time.sleep(3 + 2 * i)
    if got is None:
        print("!! gagal page", p); break
    b = got.get("docs", [])
    if not b:
        break
    all_docs.extend(b)
    if len(b) < 100:
        break

with open("/tmp/scheds_1011.json", "w") as f:
    json.dump(all_docs, f, ensure_ascii=False)
print("total", len(all_docs), "fields:", sorted(all_docs[0].keys()) if all_docs else None)

IDS = {"studiosoft": ACC.STUDIOSOFT_THREADS, "uky": ACC.UKY_THREADS, "tslaw": ACC.TSLAW_THREADS,
       "tsc": ACC.TSC_THREADS, "das": ACC.DAS_THREADS}
print("\n== jadwal 11 Okt (akun Threads kami) ==")
for d in all_docs:
    sa = d.get("scheduleAt")
    if not sa:
        continue
    try:
        dt = datetime.fromisoformat(str(sa).replace("Z", "+00:00")).astimezone(WIB)
    except Exception:
        continue
    if dt.strftime("%Y-%m-%d") != "2026-10-11":
        continue
    nm = [k for k, v in IDS.items() if v == d.get("accountId")]
    if not nm:
        continue
    print(f"{dt.strftime('%H:%M')} | {nm[0]} | type={d.get('type')} | status={d.get('status')} | _id={d.get('_id')}")
    print("   title:", d.get("title"), "| topic:", d.get("topic"))
    print("   desc:", (d.get("description") or "").replace("\n", " ")[:250])
