#!/usr/bin/env python3
"""Cek kondisi artikel tslaw.id #3065 sebelum perbaikan."""
import base64, importlib.util, json, re, urllib.request, urllib.error

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
spec = importlib.util.spec_from_file_location("cfg_tslaw", f"{WS}/cfg_tslaw.py")
m = importlib.util.module_from_spec(spec); spec.loader.exec_module(m)
CFG = m.CFG
AUTH = base64.b64encode(f'{CFG["user"]}:{CFG["pass"]}'.encode()).decode()


def rest(p):
    r = urllib.request.Request(f'https://www.tslaw.id{p}', headers={
        "Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"})
    try:
        with urllib.request.urlopen(r, timeout=90) as x:
            return json.loads(x.read())
    except urllib.error.HTTPError as e:
        return {"err": e.code, "body": e.read()[:300].decode("utf8", "ignore")}


p = rest("/wp-json/wp/v2/posts/3065?context=edit")
if isinstance(p, dict) and "err" in p:
    print("GAGAL:", p); raise SystemExit(1)
raw = p["content"]["raw"]
meta = p.get("meta") or {}
print("ID:", p["id"])
print("URL:", p["link"])
print("status:", p["status"], "| date:", p["date"])
print("title.rendered:", p["title"]["raw"])
print("slug:", p["slug"])
print("kata:", len(re.sub(r"<[^>]+>", " ", raw).split()))
print("meta keys:", json.dumps(meta, ensure_ascii=False)[:1200])
print()
print("punya wa.me/6281909222026 :", "wa.me/6281909222026" in raw)
print("punya wp-block-button     :", "wp-block-button" in raw)
print("punya FAQPage schema      :", "FAQPage" in raw)
print("punya <h2>FAQ             :", bool(re.search(r"<h2[^>]*>[^<]*FAQ", raw, re.I)))
print("tautan /law-firm-surabaya/:", "law-firm-surabaya" in raw)
print("punya <h2> daftar         :", re.findall(r"<h2[^>]*>(.*?)</h2>", raw, re.S)[:20])
print()
print("=== 1200 char pertama ===")
print(raw[:1200])
print()
print("=== 1200 char terakhir ===")
print(raw[-1200:])
json.dump({"id": p["id"], "slug": p["slug"], "link": p["link"], "title": p["title"]["raw"],
           "content": raw, "meta": meta, "excerpt": p.get("excerpt", {}).get("raw", "")},
          open(f"{WS}/tslaw_pemulihan/_tmp_3065_before.json", "w"), ensure_ascii=False, indent=1)
print("\n-> tersimpan _tmp_3065_before.json")
