#!/usr/bin/env python3
"""Ambil judul+link artikel terbaru 5 domain klien via WP REST (proxy r.jina.ai,
host ini tidak bisa curl langsung ke domain klien)."""
import subprocess, json, re

SITES = {
    "studiosoft.id": "https://studiosoft.id",
    "tslaw.id": "https://www.tslaw.id",
    "theskincodeclinic.com": "https://www.theskincodeclinic.com",
    "dasindonesia.com": "https://dasindonesia.com",
    "everybeofficial.com": "https://everybeofficial.com",
}
UA = "Mozilla/5.0 (X11; Linux x86_64) Chrome/124"

hasil = {}
for nama, base in SITES.items():
    url = f"{base}/wp-json/wp/v2/posts?per_page=15&_fields=id,date,link,title,categories"
    txt = ""
    for attempt in (1, 2, 3):
        p = subprocess.run(["curl", "-4", "-sL", "--compressed", "--max-time", "70", "-A", UA,
                            f"https://r.jina.ai/{url}"], capture_output=True, text=True, errors="replace")
        txt = p.stdout or ""
        i = txt.find('[{"id"')
        if i < 0:
            i = txt.find('{"id"')
        if i >= 0:
            txt = txt[i:]
            break
    arr = None
    try:
        arr = json.loads(txt)
    except Exception:
        m = re.search(r"\[\{.*\}\]", txt, re.S)
        if m:
            try:
                arr = json.loads(m.group(0))
            except Exception:
                arr = None
    items = []
    if isinstance(arr, list):
        for a in arr:
            t = a.get("title", {})
            items.append({"date": (a.get("date") or "")[:10],
                          "title": (t.get("rendered") if isinstance(t, dict) else str(t)) or "",
                          "link": a.get("link", "")})
    hasil[nama] = items
    print(f"== {nama}: {len(items)} artikel")
    for it in items:
        print(f"   {it['date']} | {re.sub(r'<[^>]+>', '', it['title'])[:95]} | {it['link']}")

json.dump(hasil, open("/tmp/artikel_klien.json", "w"), ensure_ascii=False, indent=1)
