#!/usr/bin/env python3
"""Cek kanibalisasi: siapa yang sudah memegang 'layanan hukum surabaya' / 'jasa hukum bisnis'."""
import base64, importlib.util, json, re, urllib.request

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"})
    with urllib.request.urlopen(r, timeout=90) as x:
        return json.loads(x.read())


# 1. semua post publish: fokus + judul
post = {p["id"]: p for p in rest(
    "/wp-json/wp/v2/posts?per_page=100&status=publish&context=edit&_fields=id,slug,title,meta,link")}
print("post publish:", len(post))
kat = ["layanan hukum", "jasa hukum bisnis", "jasa hukum surabaya", "law firm surabaya", "kantor hukum"]
for p in post.values():
    f = ((p.get("meta") or {}).get("_yoast_wpseo_focuskw") or "")
    t = p["title"]["raw"]
    for k in kat:
        if k in f.lower() or k in t.lower():
            print(f"  #{p['id']:>5} fokus=«{f}» judul=«{t[:70]}»")
            break

# 2. halaman (read-only, hanya untuk cek benturan istilah)
print("\n-- halaman (read-only) --")
d = rest("/wp-json/wp/v2/pages?per_page=100&context=edit&_fields=id,slug,title")
if isinstance(d, list):
    for p in d:
        t = p["title"]["raw"]
        if any(k in t.lower() for k in kat) or p["slug"] in ("layanan", "law-firm-surabaya"):
            print(f"  page #{p['id']:>5} /{p['slug']}/ «{t[:70]}»")

# 3. pilar 3559
pil = rest("/wp-json/wp/v2/posts/3559?context=edit&_fields=id,slug,title,meta,link")
print("\npilar 3559:", pil["link"], "| judul:", pil["title"]["raw"])
print("  meta:", json.dumps(pil.get("meta"), ensure_ascii=False)[:400])
