#!/usr/bin/env python3
"""Verifikasi pass link internal LEIT: peta penaut masuk + render live."""
import base64, json, re, urllib.request

SITE = "https://www.leitsurabaya.com"
AUTH = base64.b64encode(b"bambangbot:zibd dLIV xY8x onP9 39qL hiNr").decode()

MONEY = {
    "kursus-bahasa-inggris-surabaya-timur": "kursus bahasa Inggris Surabaya Timur",
    "kursus-bahasa-inggris-surabaya-barat": "kursus bahasa Inggris Surabaya Barat",
    "les-bahasa-inggris-terdekat-surabaya": "les bahasa Inggris terdekat Surabaya",
    "7-tempat-les-bahasa-inggris-terdekat-surabaya": "7 tempat les terdekat",
    "alasan-les-bahasa-inggris-terdekat-rumah": "alasan les dekat rumah",
    "kursus-bahasa-inggris-paling-terjangkau-surabaya": "kursus paling terjangkau",
    "7-rekomendasi-kursus-bahasa-inggris-terjangkau-surabaya": "rekomendasi kursus terjangkau",
}


def api(path):
    r = urllib.request.Request(SITE + path, headers={"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"})
    return json.loads(urllib.request.urlopen(r, timeout=240).read())


posts = api("/wp-json/wp/v2/posts?per_page=100&context=edit&_fields=id,link,content")
total = 0
inb = {s: [] for s in MONEY}
for p in posts:
    raw = p["content"]["raw"]
    outs = [o for o in re.findall(r'href="https://www\.leitsurabaya\.com/([^"#?]+)', raw)]
    total += len(outs)
    for s in MONEY:
        if s in outs:
            inb[s].append(p["id"])
print(f"total link internal sekarang: {total} (sebelumnya 0)")
print("penaut masuk per halaman uang:")
for s, ids in inb.items():
    print(f"  {s:<52} {len(ids):>3} penaut → {sorted(ids)[:10]}")

# render live
r = urllib.request.Request(SITE + "/bahasa-inggris-untuk-anak-metode-seru/", headers={"User-Agent": "Mozilla/5.0", "Cache-Control": "no-cache"})
h = urllib.request.urlopen(r, timeout=90).read().decode("utf-8", "replace")
i = h.lower().find("baca juga")
print("\nrender live 'Baca Juga':", "ADA" if i > 0 else "TIDAK ADA")
if i > 0:
    print(re.sub(r"\s+", " ", re.sub("<[^>]+>", " ", h[i:i + 400]))[:300])
