#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Probe read-only: semua jadwal TSC_IG (semua status/waktu), urut scheduleAt."""
import sys, datetime
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import get_client, ACC

WIB = datetime.timezone(datetime.timedelta(hours=7))
c = get_client()
ACCID = ACC.TSC_IG
docs = []
page = 1
while page <= 200:
    d = c.get_schedules(page=page, limit=50)
    items = d.get("docs") or d.get("data") or d.get("items") or []
    if not items:
        break
    docs.extend(items)
    if len(items) < 50:
        break
    page += 1

mine = []
for it in docs:
    acc = it.get("account") or {}
    aid = acc.get("_id") or acc.get("id") or it.get("accountId")
    if aid != ACCID:
        continue
    at = it.get("scheduleAt") or ""
    try:
        t = datetime.datetime.fromisoformat(at.replace("Z", "+00:00")).astimezone(WIB)
        ts = t.strftime("%Y-%m-%d %H:%M WIB")
    except Exception:
        ts = str(at)
    med = it.get("medias") or []
    if isinstance(med, dict):
        med = [med]
    nama = ", ".join((m.get("alt") or (m.get("url") or "").split("/")[-1]) for m in med if isinstance(m, dict))
    mine.append((at, ts, it.get("type"), it.get("status"), nama, it.get("title")))

mine.sort()
print(f"total semua jadwal API: {len(docs)} | milik TSC_IG: {len(mine)}")
for at, ts, typ, st, nama, title in mine:
    print(f"{ts} | {typ:8s} | {st:8s} | {nama[:60]:60s} | {title}")

now = datetime.datetime.now(datetime.timezone.utc)
future = [m for m in mine if m[0] and m[0] > now.isoformat()[:19]]
print(f"\nke depan (belum tayang): {len(future)}")
for at, ts, typ, st, nama, title in future:
    print(f"  {ts} | {st} | {nama[:50]}")
