#!/usr/bin/env python3
"""Cek: H1 di live page, bentuk blok FAQ di konten, dan peta link internal seluruh situs LEIT."""
import base64, html, json, re, urllib.request

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


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


# H1 di live page
r = urllib.request.Request(SITE + "/kursus-bahasa-inggris-surabaya-barat/", headers={"User-Agent": "Mozilla/5.0"})
htmlpage = urllib.request.urlopen(r, timeout=90).read().decode("utf-8", "replace")
h1s = re.findall(r"<h1[^>]*>(.*?)</h1>", htmlpage, re.S)
print("H1 di live page:", [re.sub("<[^>]+>", "", h).strip()[:80] for h in h1s])

# link internal seluruh situs
posts = api("/wp-json/wp/v2/posts?per_page=100&context=edit&_fields=id,link,slug,title,content")
graph = {}
for p in posts:
    raw = p["content"]["raw"]
    outs = set(re.findall(r'href="https://www\.leitsurabaya\.com/([^"#?]+)', raw))
    graph[p["id"]] = outs
total_links = sum(len(v) for v in graph.values())
print(f"\nartikel: {len(posts)} | total link internal di dalam konten: {total_links}")
print("artikel yang punya >=1 link internal:", sum(1 for v in graph.values() if v))
inb = {}
for pid, outs in graph.items():
    for o in outs:
        inb[o] = inb.get(o, 0) + 1
print("halaman dengan penaut masuk:", inb if inb else "(tidak ada)")

# bentuk blok FAQ pada 3925
p = api("/wp-json/wp/v2/posts/3925?context=edit&_fields=content")
raw = p["content"]["raw"]
i = raw.lower().find("faq")
print("\n--- cuplikan area FAQ #3925 ---")
print(raw[max(0, i - 200):i + 1200] if i >= 0 else "tidak ada 'faq' di konten")
