#!/usr/bin/env python3
"""Probe jadwal carousel feed IG SS 14 Okt 2026 08:30 WIB (read-only)."""
import re, sys, json
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import ReplizClient, ACC

c = ReplizClient()
acc = ACC.STUDIOSOFT_IG
target = "2026-10-14T01:30:00.000Z"

rows = []
page = 1
while True:
    r = c.get_schedules(page=page, limit=100)
    docs = r.get("docs") or r.get("data") or []
    if not docs:
        break
    for d in docs:
        a = d.get("account") or {}
        if a.get("_id") == acc or a.get("id") == acc:
            rows.append(d)
    if not r.get("hasNextPage"):
        break
    page += 1
    if page > 40:
        break

print("total jadwal akun IG SS:", len(rows))
hit = [d for d in rows if d.get("scheduleAt") == target]
print("jadwal di slot 14 Okt 01:30Z:", len(hit))
for d in hit:
    desc = d.get("description") or ""
    media = [m.get("url") for m in (d.get("medias") or [])]
    print("=" * 70)
    print("id        :", d.get("_id") or d.get("id"))
    print("status    :", d.get("status"))
    print("scheduleAt:", d.get("scheduleAt"))
    print("type      :", d.get("type"))
    print("title     :", d.get("title"))
    print("topic     :", d.get("topic"))
    print("account   :", (d.get("account") or {}).get("name"))
    print("replies   :", len(d.get("replies") or []))
    print("medias    :", len(media))
    for u in media:
        print("   ", u)
    print("panjang caption:", len(desc))
    print("--- caption ---")
    print(desc)
    print("--- cek ---")
    tags = re.findall(r"#(\w+)", desc)
    print("hashtag:", tags, "| ada huruf besar:", [t for t in tags if t != t.lower()])
    print("CTA:", bool(re.search(r"komentar|diskusi|pendapat|tulis di|share|pengalaman|menurut", desc, re.I)))
    print("mention:", re.findall(r"@\w+", desc))
    cjk = re.findall(r"[\u3000-\u9fff\uac00-\ud7af]", desc)
    print("CJK:", cjk)
    links = re.findall(r"https?://\S+", desc)
    print("link:", links)
    err = d.get("errorMessage")
    if err:
        print("errorMessage:", err)
