#!/usr/bin/env python3
"""Verifikasi post 3233: baca ulang dari REST + cek halaman live (title tag, meta desc, H2 baru)."""
import base64, html as htmlmod, json, re, sys, urllib.request
sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from cfg_tslaw import CFG

AUTH = base64.b64encode(f"{CFG['user']}:{CFG['pass']}".encode()).decode()
HDR = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}
PID = 3233
OUT = "/home/mantapman/.hermes/profiles/atun/workspace/tslaw_pemulihan/perbaikan_20261004"

req = urllib.request.Request(f"https://tslaw.id/wp-json/wp/v2/posts/{PID}?context=edit", headers=HDR)
with urllib.request.urlopen(req, timeout=90) as r:
    p = json.load(r)
raw = p["content"]["raw"]
m = p.get("meta") or {}
txt = re.sub(r"<[^>]+>", " ", raw)

hasil = {
    "id": p["id"], "slug": p["slug"], "modified": p["modified"], "status": p["status"],
    "judul_h1": p["title"]["raw"],
    "seo_title": m.get("_yoast_wpseo_title"),
    "fokus_kw": m.get("_yoast_wpseo_focuskw"),
    "meta_desc": m.get("_yoast_wpseo_metadesc"),
    "kata_polos": len(txt.split()),
    "kata_audit": len(re.sub(r"<[^>]+>", " ", raw).split()),
    "h2_lapor_kemana": "Penipuan Online Lapor Kemana? Ini Kanal Resminya" in raw,
    "h2_bank_dulu": "Lapor ke Bank Dulu, Baru ke Polisi" in raw,
    "tautan_pilar": raw.count("law-firm-surabaya"),
    "tombol_wa": raw.count("wa.me/6281909222026"),
    "tta_law_firm_sisa": raw.count("TTA Law Firm"),
    "ts_law": raw.count("TS Law"),
    "faq_tampil": len(re.findall(r'class="rank-math-faq-question"', raw)),
    "schema_mainEntity": len(re.findall(r'"@type": "Question"', raw)),
    "placeholder_sisa": re.findall(r"\{[A-Za-z_\[\]0-9]+\}", raw),
}
json.dump(hasil, open(f"{OUT}/post_{PID}_VERIFIKASI.json", "w"), ensure_ascii=False, indent=1)
for k, v in hasil.items():
    print(f"  {k:<22}: {v}")

# ---- halaman live ----
try:
    rq = urllib.request.Request(f"https://www.tslaw.id/{p['slug']}/", headers={"User-Agent": "Mozilla/5.0"})
    with urllib.request.urlopen(rq, timeout=90) as r:
        live = r.read().decode(errors="replace")
    t = re.search(r"<title>(.*?)</title>", live, re.S)
    d = re.search(r'<meta name="description" content="(.*?)"', live, re.S)
    print("\n--- live HTML ---")
    print("  <title> :", htmlmod.unescape(t.group(1)).strip() if t else None)
    print("  meta dsc:", (htmlmod.unescape(d.group(1)).strip()[:130] if d else None))
    print("  H2 baru ada di live:", "Penipuan Online Lapor Kemana" in live)
    print("  tautan pilar ada   :", "law-firm-surabaya" in live)
    open(f"{OUT}/live_3233_sesudah.html", "w").write(live)
except Exception as e:
    print("live gagal:", e)
