#!/usr/bin/env python3
"""hc58 recon: FB pending detail, LI pending slugs, artikel SS fresh (WP API), status artikel."""
import json, re, ssl, time, urllib.request, subprocess
from datetime import datetime, timezone, timedelta

docs = json.load(open("/tmp/repliz_all_20261007.json"))
WS = "/home/mantapman/.hermes/profiles/atun/workspace"
import sys
sys.path.insert(0, WS)
from repliz_client import ACC

url_re = re.compile(r"studiosoft\.id/([a-z0-9\-]+)")
now = datetime.now(timezone.utc)
print("NOW UTC", now.strftime("%Y-%m-%d %H:%M"))

print("\n== FB SS jadwal (pending/scheduled/draft) ==")
for d in sorted([x for x in docs if x.get("accountId") == ACC.STUDIOSOFT_FB
                 and (x.get("status") or "").lower() in ("pending", "scheduled", "draft")],
                key=lambda x: x.get("scheduleAt") or ""):
    sl = url_re.findall((d.get("description") or "") + " " + (d.get("title") or ""))
    print("  %s  %-22s  %s" % ((d.get("scheduleAt") or "")[:16], (d.get("title") or "")[:22], sl))

print("\n== LI SS jadwal (pending) ==")
li_slugs = {}
for d in sorted([x for x in docs if x.get("accountId") == ACC.STUDIOSOFT_LINKEDIN
                 and (x.get("status") or "").lower() in ("pending", "scheduled", "draft")],
                key=lambda x: x.get("scheduleAt") or ""):
    sl = url_re.findall((d.get("description") or "") + " " + (d.get("title") or ""))
    for s in sl:
        li_slugs.setdefault(s, []).append((d.get("scheduleAt") or "")[:16])
for s, v in sorted(li_slugs.items()):
    print("  %-70s %s" % (s[:70], v))

print("\n== THREADS SS jadwal mendatang (pending) ==")
for d in sorted([x for x in docs if x.get("accountId") == ACC.STUDIOSOFT_THREADS
                 and (x.get("status") or "").lower() in ("pending", "scheduled", "draft")
                 and (x.get("scheduleAt") or "")[:19] > now.strftime("%Y-%m-%dT%H:%M:%S")],
                key=lambda x: x.get("scheduleAt") or ""):
    sl = url_re.findall((d.get("description") or "") + " " + (d.get("title") or ""))
    print("  %s  %-30s %s  media=%d" % ((d.get("scheduleAt") or "")[:16], (d.get("title") or "")[:30], sl,
                                        len(d.get("medias") or [])))
