#!/usr/bin/env python3
"""hc43: cek presisi (URL-based) artikel kandidat di Threads/LinkedIn/FB SS."""
import json, re, sys
sys.path.insert(0, '/home/mantapman/.hermes/profiles/atun/workspace')
from repliz_client import ACC

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

CAND = ["rs-klinik-digital-marketing-2026", "google-business-profile-klinik",
        "social-media-rumah-sakit-efektif", "strategi-digital-marketing-rumah-sakit",
        "konten-edukasi-kesehatan-kepercayaan-pasien", "data-analytics-rumah-sakit-kebutuhan-pasien",
        "website-rumah-sakit-gagal-pasien", "digital-marketing-firma-hukum",
        "jasa-chatbot-whatsapp-bisnis", "konsultan-ai-surabaya"]

for label, aid in (("THREADS", ACC.STUDIOSOFT_THREADS), ("LINKEDIN", ACC.STUDIOSOFT_LINKEDIN),
                   ("FACEBOOK", ACC.STUDIOSOFT_FB)):
    print("\n########## %s ##########" % label)
    for s in CAND:
        rows = []
        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):
                rows.append(((d.get('scheduleAt') or '')[:16], d.get('status'), d.get('type'), len(d.get('medias') or [])))
        rows.sort()
        if not rows:
            print("  %-55s -> FREE (tidak ada jejak)" % s)
        else:
            print("  %-55s" % s)
            seen = {}
            for r in rows:
                seen.setdefault(r[1], []).append(r[0])
            for k in sorted(seen):
                print("        %-10s %s" % (k, seen[k][:4]))
