#!/usr/bin/env python3
"""Cek jadwal Threads hari ini per akun dari dump Repliz."""
import json, sys
from datetime import datetime, timedelta, timezone

WIB = timezone(timedelta(hours=7))
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from repliz_client import ACC

ACCS = {
    "studiosoft": ACC.STUDIOSOFT_THREADS,
    "uky": ACC.UKY_THREADS,
    "tslaw": ACC.TSLAW_THREADS,
    "tsc": ACC.TSC_THREADS,
    "das": ACC.DAS_THREADS,
}
OWN = {"studiosoft": "studiosoft.id", "uky": "studiosoft.id", "tslaw": "tslaw.id",
       "tsc": "theskincodeclinic.com", "das": "dasindonesia.com"}

path = sys.argv[1] if len(sys.argv) > 1 else "/tmp/repliz_all_20260929.json"
tgl = sys.argv[2] if len(sys.argv) > 2 else "2026-09-29"

docs = json.load(open(path))
if isinstance(docs, dict):
    docs = docs.get("docs", docs.get("data", []))
print("total docs", len(docs))
for key, aid in ACCS.items():
    rows = []
    for d in docs:
        if d.get("accountId") != aid:
            continue
        sa = d.get("scheduleAt") or ""
        try:
            dt = datetime.fromisoformat(sa.replace("Z", "+00:00")).astimezone(WIB)
        except Exception:
            continue
        if dt.strftime("%Y-%m-%d") == tgl:
            desc = (d.get("description") or "")
            rows.append((dt.strftime("%H:%M"), d.get("status"), d.get("type"),
                         OWN[key] in desc.lower(), len(desc), d.get("_id"),
                         desc[:70].replace("\n", " ")))
    print("\n== %s (%d) ==" % (key, len(rows)))
    for r in sorted(rows):
        print("  ", r)
