import base64, json, re, sys, time, subprocess, html as htmlmod, 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"}
URL = "https://www.tslaw.id/cara-daftar-merek-dagang/"
PID = 3208

req = urllib.request.Request(f"https://tslaw.id/wp-json/wp/v2/posts/{PID}?context=edit", headers=HDR)
p = json.load(urllib.request.urlopen(req, timeout=90))
raw = p["content"]["raw"]
m = p["meta"]
txt = htmlmod.unescape(re.sub(r"<script.*?</script>", " ", raw, flags=re.S))
kata = len(re.sub(r"<[^>]+>", " ", txt).split())

print("== API READ-BACK ==")
print("status      :", p["status"], "| modified:", p["modified"])
print("judul       :", p["title"]["raw"])
print("fokus kw    :", m["_yoast_wpseo_focuskw"])
print("SEO title   :", m["_yoast_wpseo_title"])
print("meta desc   :", m["_yoast_wpseo_metadesc"], f"({len(m['_yoast_wpseo_metadesc'])} char)")
print("kata        :", kata)
print("FAQ item    :", len(re.findall(r'rank-math-faq-question', raw)))
print("FAQPage     :", raw.count("FAQPage"))
print("href WA     :", re.findall(r'<a class="wp-block-button__link" href="([^"]+)"', raw))
print("wa.me brut   :", sorted(set(re.findall(r'wa\.me/\S{0,25}', raw))))
print("'TSLaw' sisa :", raw.count("TSLaw"), "| 'TS Law':", raw.count("TS Law"))
print("pilar link  :", "law-firm-surabaya" in raw)
print("placeholder :", re.findall(r"\{[A-Za-z_\[\]0-9]+\}", raw))
print("H2 baru     :", [h for h in re.findall(r'<h2[^>]*>(.*?)</h2>', raw) if "Ringkasan" in h or "Bedanya" in h])

ts = int(time.time())
live = subprocess.run(["curl", "-4", "-sL", f"{URL}?nocache={ts}"], capture_output=True, text=True, timeout=120).stdout
print("\n== LIVE PAGE ==")
print("bytes       :", len(live))
print("HTTP cek    :", subprocess.run(["curl","-4","-s","-o","/dev/null","-w","%{http_code}", f"{URL}?nocache={ts}"],
                                     capture_output=True, text=True).stdout)
t = re.search(r"<title>(.*?)</title>", live, re.S)
print("title live  :", htmlmod.unescape(t.group(1)).strip() if t else "TIDAK ADA")
d = re.search(r'<meta name="description" content="(.*?)"', live, re.S)
print("desc live   :", htmlmod.unescape(d.group(1))[:200] if d else "TIDAK ADA")
h1 = re.search(r"<h1[^>]*>(.*?)</h1>", live, re.S)
print("H1 live     :", htmlmod.unescape(re.sub(r"<[^>]+>", "", h1.group(1))).strip() if h1 else "TIDAK ADA")
for needle, label in [("Rp500.000", "tarif UMK baru"), ("Rp2.800.000", "tarif umum baru"),
                      ("Ringkasan Cepat", "blok ringkasan"), ("Merek Kolektif", "seksi jenis merek"),
                      ('"FAQPage"', "schema FAQPage"), ("wa.me/6281909222026", "tombol WA"),
                      ("law-firm-surabaya", "tautan pilar"), ("cara daftar merek dagang", "kueri di meta/title")]:
    print(f"  {label:<18}: {'ADA' if needle in live else 'TIDAK ADA'}")
print("  sisa 'TSLaw'     :", live.count("TSLaw"))
print("  href WA rusak    :", 'wa.me/6281909222026 (' in live)
q = re.findall(r'"@type": "Question", "name": "([^"]+)"', live)
print("  FAQ schema Q     :", len(q), q[:3], "...")
