#!/usr/bin/env python3
"""Cetak caption lengkap jadwal 6 Okt per akun Threads + cek link domain sendiri."""
import sys, re
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()
ACC_MAP = {"studiosoft": (ACC.STUDIOSOFT_THREADS, "studiosoft.id"),
           "uky": (ACC.UKY_THREADS, "studiosoft.id"),
           "tslaw": (ACC.TSLAW_THREADS, "tslaw.id"),
           "tsc": (ACC.TSC_THREADS, "theskincodeclinic.com"),
           "das": (ACC.DAS_THREADS, "dasindonesia.com")}
docs = []
for p in range(1, 200):
    g = None
    for i in range(10):
        try:
            g = client.get_schedules(page=p, limit=100); break
        except Exception: pass
    if g is None: raise SystemExit("fail")
    b = g.get("docs", [])
    if not b: break
    docs += b
    if len(b) < 100: break
DATE = "2026-10-06"
for name, (aid, dom) in ACC_MAP.items():
    print(f"\n########## {name} ##########")
    rows = []
    for d in docs:
        if d.get("accountId") != aid: continue
        sa = d.get("scheduleAt")
        try:
            dt = datetime.fromisoformat(str(sa).replace("Z", "+00:00")).astimezone(WIB)
        except Exception: continue
        if dt.strftime("%Y-%m-%d") == DATE:
            rows.append((dt, d))
    rows.sort(key=lambda x: x[0])
    for dt, d in rows:
        desc = d.get("description") or ""
        print(f"--- {dt.strftime('%H:%M')} [{d.get('type')}] len={len(desc)} own={dom in desc.lower()}")
        print(desc)
