#!/usr/bin/env python3
"""TSLaw: verifikasi akhir beranda setelah perubahan judul & meta (dan pastikan isi tidak tersentuh)."""
import re, urllib.request, html, time

UA = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124 Safari/537.36"}
h = urllib.request.urlopen(urllib.request.Request(f"https://www.tslaw.id/?v={int(time.time())}", headers=UA),
                           timeout=120).read().decode("utf-8", "replace")


def cari(pola, nama):
    m = re.search(pola, h, re.S)
    print(f"   {nama:<16}: {html.unescape(m.group(1).strip())[:110] if m else '(tidak ada)'}")


print("=== elemen yang dibaca Google ===")
cari(r"<title>(.*?)</title>", "judul")
cari(r'<meta name="description" content="([^"]*)"', "meta desc")
cari(r'<link rel="canonical" href="([^"]*)"', "canonical")
cari(r'<meta property="og:title" content="([^"]*)"', "og:title")
cari(r'<meta property="og:description" content="([^"]*)"', "og:desc")
cari(r'<meta name="robots" content="([^"]*)"', "robots")

print("\n=== isi halaman (jangan sampai berubah) ===")
h1 = re.findall(r"<h1[^>]*>(.*?)</h1>", h, re.S)
h2 = [html.unescape(re.sub(r"<[^>]+>", "", x)).strip()[:44] for x in re.findall(r"<h2[^>]*>(.*?)</h2>", h, re.S)]
teks = re.sub(r"\s+", " ", html.unescape(re.sub(r"<[^>]+>", " ", re.sub(r"<(script|style)[^>]*>.*?</\1>", " ", h, flags=re.S | re.I))))
print("   H1      :", [html.unescape(re.sub(r"<[^>]+>", "", x)).strip()[:60] for x in h1])
print("   H2      :", h2[:7])
print(f"   kata    : {len(teks.split())} | ukuran: {len(h)//1024} KB | gambar: {len(re.findall(r'<img', h))}")
print(f"   schema FAQ: {'ada' if 'FAQPage' in h else 'tidak ada'} | tombol WA: {'ada' if 'wa.me' in h else 'tidak'}")

print("\n=== pratinjau hasil pencarian ===")
m = re.search(r"<title>(.*?)</title>", h, re.S)
d = re.search(r'<meta name="description" content="([^"]*)"', h)
print(f"   {m.group(1) if m else '-'}")
print(f"   https://www.tslaw.id/")
print(f"   {d.group(1) if d else '-'}")
