#!/usr/bin/env python3
"""hc46: detail jejak per platform untuk kandidat + tarik isi artikel dari WP REST."""
import json, re, subprocess, sys, html
WS = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, WS)
from repliz_client import ACC

docs = json.load(open("/tmp/repliz_all_20260925.json"))
url_re = re.compile(r"studiosoft\.id/([a-z0-9\-]+)")
ACCID = {"T": ACC.STUDIOSOFT_THREADS, "L": ACC.STUDIOSOFT_LINKEDIN, "F": ACC.STUDIOSOFT_FB}

CAND = ["cara-klinik-kecantikan-di-surabaya-bisa-ditemukan-lebih-cepat-di-google",
        "7-strategi-digital-marketing-rumah-sakit-untuk-menambah-pasien-setiap-bulan",
        "strategi-seo-terbaik-untuk-klinik-kecantikan-di-surabaya-tingkatkan-pasien-lewat-google",
        "rs-klinik-digital-marketing-2026",
        "10-channel-digital-marketing-rumah-sakit-yang-wajib-dikelola-di-era-online"]

for s in CAND:
    print("=" * 100)
    print("SLUG:", s)
    for k in ("T", "L", "F"):
        rows = []
        for d in docs:
            if d.get("accountId") != ACCID[k]:
                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 []), (d.get("title") or "")[:45]))
        for r in sorted(rows):
            print("  %s %s %s med=%d %s" % (r[0], r[1], r[2], r[3], r[4]))
        if not rows:
            print("  %s: FREE (tidak ada jejak)" % k)

print("\n\n### ISI ARTIKEL (WP REST)")
AUTH = "bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl"
for s in CAND:
    r = subprocess.run(["curl", "-s", "-4", "--http1.1", "--max-time", "120", "-u", AUTH,
                        "https://studiosoft.id/wp-json/wp/v2/posts?slug=%s&_fields=id,date,title,link,content,excerpt" % s],
                       capture_output=True, text=True)
    try:
        d = json.loads(r.stdout)
    except Exception as e:
        print("GAGAL %s: %s %s" % (s, e, r.stdout[:200]))
        continue
    if not d:
        print("KOSONG %s" % s)
        continue
    p = d[0]
    body = re.sub(r"<[^>]+>", " ", p["content"]["rendered"])
    body = html.unescape(re.sub(r"\s+", " ", body)).strip()
    print("\n---- %s | %s | %s" % (p["id"], p["date"][:10], html.unescape(p["title"]["rendered"])))
    print("LINK:", p["link"])
    print(body[:2600])
