#!/usr/bin/env python3
"""TSLaw: baca artikel mereka sendiri (cerai gugat & surat wasiat) sebagai sumber fakta + link internal."""
import base64, html, json, re, time, urllib.request

DOM = "tslaw.id"
AUTH = base64.b64encode(b"bambangbot:EFKm EYGx VQCP Y9go ncPr uM2Y").decode()


def rest(path):
    r = urllib.request.Request(f"https://{DOM}{path}", headers={"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"})
    for _ in range(3):
        try:
            with urllib.request.urlopen(r, timeout=150) as x:
                return json.loads(x.read())
        except Exception:
            time.sleep(3)
    return {}


for slug in ("panduan-cerai-gugat", "panduan-membuat-surat-wasiat"):
    d = rest(f"/wp-json/wp/v2/posts?slug={slug}&context=edit&_fields=id,title,content,link,categories,tags")
    if not isinstance(d, list) or not d:
        print(f"  {slug}: tidak ditemukan")
        continue
    p = d[0]
    raw = p["content"]["raw"]
    teks = re.sub(r"\s+", " ", html.unescape(re.sub(r"<[^>]+>", " ", raw)))
    print(f"\n================ {p['link']} (id {p['id']}, {len(raw)} char)")
    print("H2:", [html.unescape(re.sub(r"<[^>]+>", "", x))[:60] for x in re.findall(r"<h[23][^>]*>(.*?)</h[23]>", raw, re.S)][:12])
    print("kategori:", p["categories"], "| tag:", p["tags"])
    print("isi:", teks[:1400])
