#!/usr/bin/env python3
"""hc44: matriks lengkap artikel healthcare x Threads/LI/FB SS."""
import json, re, sys
WS = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, WS)
from repliz_client import ACC

docs = json.load(open('/tmp/repliz_all_20260923.json'))
url_re = re.compile(r'studiosoft\.id/([a-z0-9\-]+)')

HC = ["data-analytics-rumah-sakit-kebutuhan-pasien", "iklan-facebook-rumah-sakit",
      "google-business-profile-klinik", "social-media-rumah-sakit-efektif",
      "klinik-kecil-butuh-digital-marketing", "panduan-seo-klinik-rumah-sakit",
      "konten-edukasi-kesehatan-kepercayaan-pasien", "website-rumah-sakit-gagal-pasien",
      "strategi-digital-marketing-rumah-sakit", "rs-klinik-digital-marketing-2026",
      "jasa-digital-marketing-klinik",
      "10-channel-digital-marketing-rumah-sakit-yang-wajib-dikelola-di-era-online",
      "9-contoh-konten-digital-marketing-rumah-sakit-yang-edukatif-dan-tetap-etis",
      "strategi-seo-terbaik-untuk-klinik-kecantikan-di-surabaya-tingkatkan-pasien-lewat-google",
      "7-strategi-digital-marketing-rumah-sakit-untuk-menambah-pasien-setiap-bulan",
      "cara-klinik-kecantikan-di-surabaya-bisa-ditemukan-lebih-cepat-di-google",
      "tips-seo-digital-marketing-surabaya-optimasi-local-untuk-klinik-dan-bengkel-lokal",
      "7-aplikasi-mental-health-anak-usia-4-10-tahun-yang-harus-dicoba-orang-tua"]

ACCID = {"T": ACC.STUDIOSOFT_THREADS, "L": ACC.STUDIOSOFT_LINKEDIN, "F": ACC.STUDIOSOFT_FB}


def traces(aid, s):
    out = []
    for d in docs:
        if d.get("accountId") != aid:
            continue
        t = " ".join([(d.get("description") or ""), (d.get("title") or "")])
        if s in url_re.findall(t):
            out.append(((d.get("scheduleAt") or "")[:10], d.get("status")))
    return sorted(out)


print("%-60s %-22s %-30s %s" % ("SLUG", "THREADS", "LINKEDIN", "FACEBOOK"))
for s in HC:
    cells = []
    for k in ("T", "L", "F"):
        tr = traces(ACCID[k], s)
        ok = sum(1 for x in tr if x[1] == "success")
        pend = [x for x in tr if x[1] in ("pending", "scheduled", "draft")]
        err = sum(1 for x in tr if x[1] == "error")
        last = tr[-1][0] if tr else "-"
        if not tr:
            cell = "FREE"
        elif pend:
            cell = "ok%d pend%d(%s)" % (ok, len(pend), pend[0][0])
        else:
            cell = "ok%d err%d last%s" % (ok, err, last)
        cells.append(cell)
    print("%-60s %-22s %-30s %s" % (s[:60], cells[0], cells[1], cells[2]))
