#!/usr/bin/env python3
"""Ambil isi artikel 8027 via WP REST auth (context=edit) untuk verifikasi klaim caption."""
import base64, json, re, urllib.request, urllib.error, html

S = "https://studiosoft.id"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()

def api(path):
    h = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}
    r = urllib.request.Request(S + path, headers=h, method="GET")
    try:
        with urllib.request.urlopen(r, timeout=90) as x:
            return x.status, json.loads(x.read())
    except urllib.error.HTTPError as e:
        return e.code, e.read().decode()[:300]
    except Exception as e:
        return 0, str(e)

st, d = api("/wp-json/wp/v2/posts/8027?context=edit&_fields=content")
print("http:", st)
raw = d["content"]["raw"] if isinstance(d, dict) else str(d)
txt = re.sub(r"<[^>]+>", " ", raw)
txt = html.unescape(re.sub(r"\s+", " ", txt))
print("panjang:", len(txt))
open("/tmp/art_8027.txt", "w").write(txt)
# cek klaim caption
for kata in ["ketik", "menu", "skrip", "script", "bahasa alami", "eskalasi"]:
    hit = [m.start() for m in re.finditer(kata, txt, re.I)][:2]
    for h in hit:
        print(f"[{kata}] …{txt[max(0,h-90):h+110]}…")
print("\n--- 1200 char awal ---")
print(txt[:1200])
