#!/usr/bin/env python3
"""Ambil post 3233 apa adanya dari REST (context=edit) + simpan salinan sebelum diubah."""
import base64, json, os, re, sys
import urllib.request, urllib.error

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
sys.path.insert(0, WS)
from cfg_tslaw import CFG

AUTH = base64.b64encode(f"{CFG['user']}:{CFG['pass']}".encode()).decode()
BASE = "https://tslaw.id/wp-json/wp/v2"
HDR = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}

PID = int(sys.argv[1]) if len(sys.argv) > 1 else 3233
OUT = f"{WS}/tslaw_pemulihan/perbaikan_20261004"
os.makedirs(OUT, exist_ok=True)

req = urllib.request.Request(f"{BASE}/posts/{PID}?context=edit", headers=HDR)
with urllib.request.urlopen(req, timeout=90) as r:
    p = json.load(r)

raw = p["content"]["raw"]
json.dump(p, open(f"{OUT}/post_{PID}_SEBELUM.json", "w"), ensure_ascii=False, indent=1)
open(f"{OUT}/post_{PID}_SEBELUM.html", "w").write(raw)

txt = re.sub(r"<[^>]+>", " ", raw)
kata = len(txt.split())
print("id        :", p["id"])
print("slug      :", p["slug"])
print("status    :", p["status"], "| modified:", p["modified"])
print("judul H1  :", p["title"]["raw"])
print("kata      :", kata)
m = p.get("meta") or {}
print("seo_title :", m.get("_yoast_wpseo_title"))
print("focus kw  :", m.get("_yoast_wpseo_focuskw"))
print("meta desc :", m.get("_yoast_wpseo_metadesc"))
print("--- sinyal di isi ---")
for s in ["wa.me/", "6281909222026", "6281935000624", "FAQPage", "ld+json",
          "law-firm-surabaya", "rank-math-faq-question"]:
    print(f"  {s:<28}: {raw.count(s)}x")
hs = re.findall(r"<h[23][^>]*>(.*?)</h[23]>", raw, re.S)
print("--- heading (%d) ---" % len(hs))
for h in hs:
    print("   *", re.sub(r"<[^>]+>", "", h).strip()[:95])
print("--- 3 tautan internal pertama ---")
for l in re.findall(r'href="(https?://(?:www\.)?tslaw\.id[^"]*)"', raw)[:8]:
    print("   -", l)
print("saved:", f"{OUT}/post_{PID}_SEBELUM.html")
