#!/usr/bin/env python3
"""Verifikasi akhir artikel 13 TSLaw: isi draft identik dengan salinan lokal, dan cek benturan fokus
kata kunci dengan artikel hak asuh yang sudah tayang (#2933) serta listikel terkait."""
import base64, json, re, urllib.request, urllib.error

DOM, USER, PASS = "tslaw.id", "bambangbot", "EFKm EYGx VQCP Y9go ncPr uM2Y"
AUTH = base64.b64encode(f"{USER}:{PASS}".encode()).decode()
UA = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124 Safari/537.36"}
OUT = "/home/mantapman/.hermes/profiles/atun/workspace/tslaw_listikel"


def rest(path):
    r = urllib.request.Request(f"https://{DOM}{path}", headers={"Authorization": f"Basic {AUTH}", **UA})
    with urllib.request.urlopen(r, timeout=120) as x:
        return json.loads(x.read())


lokal = open(f"{OUT}/artikel13.html").read()
p = rest("/wp-json/wp/v2/posts/3707?context=edit&_fields=id,slug,status,title,content,meta,featured_media,categories,tags")
raw = p["content"]["raw"]
print(f"draft #{p['id']} status={p['status']} slug={p['slug']}")
print(f"  isi identik dengan salinan lokal : {raw.strip() == lokal.strip()} (lokal {len(lokal)} char, WP {len(raw)} char)")
print(f"  judul   : {p['title']['raw']}")
print(f"  meta    : {json.dumps(p['meta'], ensure_ascii=False)[:240]}")
print(f"  foto    : {p['featured_media']} | kategori {p['categories']} | tag {p['tags']}")

print("\n=== CEK BENTURAN FOKUS KATA KUNCI ===")
q = rest("/wp-json/wp/v2/posts?per_page=100&status=any&_fields=id,slug,status,title,meta&context=edit")
for x in q:
    f = (x.get("meta") or {}).get("_yoast_wpseo_focuskw") or ""
    if "asuh" in f.lower() or "asuh" in x["slug"] or "nafkah" in f.lower() or "nafkah" in x["slug"]:
        print(f"  #{x['id']:>4} {x['status']:<8} fokus='{f}' | /{x['slug']}/")
