#!/usr/bin/env python3
"""DARURAT TSLaw: cek revisi halaman 833 & 10, dan cari situs lain bermesin sama sebagai bahan."""
import base64, json, re, time, urllib.request, urllib.error

DOM = "tslaw.id"
AUTH = base64.b64encode(b"bambangbot:EFKm EYGx VQCP Y9go ncPr uM2Y").decode()


def wp(path, dom=DOM):
    r = urllib.request.Request(f"https://{dom}{path}", headers={"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"})
    for _ in range(3):
        try:
            with urllib.request.urlopen(r, timeout=150) as x:
                return x.status, json.loads(x.read())
        except urllib.error.HTTPError as e:
            return e.code, e.read().decode()[:200]
        except Exception:
            time.sleep(3)
    return 0, "gagal"


print("=== revisi halaman yang rusak ===")
for pid in (833, 10):
    st, rev = wp(f"/wp-json/wp/v2/pages/{pid}/revisions?per_page=50&_fields=id,modified")
    jml = len(rev) if isinstance(rev, list) else f"err {st}"
    print(f"   #{pid}: {jml} revisi | {str(rev)[:150]}")
    st, cur = wp(f"/wp-json/wp/v2/pages/{pid}?context=edit&_fields=content,modified")
    raw = cur.get("content", {}).get("raw", "") if isinstance(cur, dict) else ""
    print(f"        konten sekarang: {len(raw)} karakter | {raw[:80]!r}")

print("\n=== halaman lain yang masih utuh ===")
st, pages = wp("/wp-json/wp/v2/pages?per_page=100&context=edit&_fields=id,title,content")
if isinstance(pages, list):
    for p in pages:
        raw = p.get("content", {}).get("raw", "") if isinstance(p.get("content"), dict) else ""
        print(f"   #{p['id']:>5} {len(raw):>7} char  {p['title']['rendered'][:44]}")

print("\n=== situs klien lain: ada yang bertema sama? ===")
KLien = {"abimata.id": "https://abimata.id/", "everybeofficial.com": "https://www.everybeofficial.com/",
         "surabaya-skincentre.com": "https://www.surabaya-skincentre.com/"}
for nama, u in KLien.items():
    try:
        h = urllib.request.urlopen(urllib.request.Request(u, headers={"User-Agent": "Mozilla/5.0"}), timeout=60).read().decode("utf-8", "replace")
        tema = re.findall(r"/wp-content/themes/([a-z0-9\-_]+)/", h)
        print(f"   {nama:<26} tema={sorted(set(tema))[:2]} | 'Penghargaan': {'ada' if 'Penghargaan' in h else '-'} | "
              f"'Bagaimana Kami Bekerja': {'ada' if 'Bagaimana Kami Bekerja' in h else '-'}")
    except Exception as e:
        print(f"   {nama:<26} gagal {str(e)[:50]}")
