#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""verif_uky_fotografi_korea.py — baca balik semua jadwal @ukyhandoko Threads 5-14 Okt 2026
untuk memastikan lane fotografi (23:00) & album Korea (09:00) tidak bertabrakan. Read-only."""
import sys, datetime
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import ReplizClient, ACC

WIB = datetime.timezone(datetime.timedelta(hours=7))
cli = ReplizClient()
rows, page = [], 1
while True:
    d = cli.get(f"/public/schedule?page={page}&limit=100")
    for s in d.get("docs") or []:
        if s.get("accountId") == ACC.UKY_THREADS and s.get("status") in ("pending", "processing", "draft"):
            dt = datetime.datetime.fromisoformat(s["scheduleAt"].replace("Z", "+00:00")).astimezone(WIB)
            if datetime.date(2026, 10, 5) <= dt.date() <= datetime.date(2026, 10, 14):
                rows.append((dt, s))
    if page >= (d.get("totalPages") or 1):
        break
    page += 1

rows.sort(key=lambda x: x[0])
hari = {}
for dt, s in rows:
    hari.setdefault(dt.date(), []).append((dt.hour, s))
for tgl in sorted(hari):
    jam = [h for h, _ in hari[tgl]]
    dobel = len(jam) != len(set(jam))
    print(f"{tgl} ({len(jam)} post){' ⚠️ ADA JAM DOBEL' if dobel else ''}")
    for h, s in sorted(hari[tgl]):
        med = len(s.get("medias") or [])
        print(f"   {h:02d}:00 {s.get('type'):6} media={med:<2} {s.get('topic','')[:20]:20} | {s.get('title','')[:44]}")
