#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Cek slot carousel feed IG StudioSoft tanggal 12 Okt 2026 (08:30 WIB) + health media."""
import sys, time, datetime, json
WS = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, WS)
from repliz_client import get_client

IG_SS = "6a38ac33c5ff4ce3a3231232"
c = get_client()

docs, page = [], 1
while page <= 80:
    r = None
    for a in range(5):
        try:
            r = c.get_schedules(page=page, limit=100)
            break
        except Exception as e:
            time.sleep(3 + 2 * a)
    if r is None:
        raise SystemExit("gagal baca")
    b = r.get("docs") or []
    docs += b
    if len(b) < 100:
        break
    page += 1

print("total jadwal:", len(docs))
mine = [d for d in docs if (d.get("account") or {}).get("id") == IG_SS
        or (d.get("accountId") == IG_SS)]
print("jadwal akun IG SS:", len(mine))

# rentang 11-13 Okt
def wib(s):
    try:
        dt = datetime.datetime.fromisoformat(s.replace("Z", "+00:00"))
        return dt.astimezone(datetime.timezone(datetime.timedelta(hours=7)))
    except Exception:
        return None

rows = []
for d in mine:
    w = wib(d.get("scheduleAt", ""))
    if w and datetime.date(2026, 10, 11) <= w.date() <= datetime.date(2026, 10, 13):
        rows.append((w, d))
rows.sort(key=lambda x: x[0])
for w, d in rows:
    med = d.get("medias") or []
    first = (med[0].get("url") if med else "") or ""
    print(f"{w:%Y-%m-%d %H:%M} WIB | {d.get('type'):6} | {d.get('status'):9} | nmedia={len(med)} | {d.get('title','')[:45]!r} | {first.split('/')[-1]}")
    print("   id:", d.get("_id") or d.get("id"))

# slot 12 Okt 08:30
target = [d for w, d in rows if w.date() == datetime.date(2026, 10, 12) and w.hour == 8]
print("\n=== SLOT 12 OKT 08:30 ===")
print("ada:", len(target))
if target:
    d = target[0]
    print(json.dumps({k: d.get(k) for k in ("_id", "id", "type", "status", "scheduleAt", "title", "topic")}, indent=1, ensure_ascii=False))
    med = d.get("medias") or []
    for i, m in enumerate(med, 1):
        print(f"  {i:02d}. {m.get('url','')}")
    print("caption len:", len(d.get("description") or ""))
    print("replies:", d.get("replies"))
    print("--- caption ---")
    print(d.get("description"))
