#!/usr/bin/env python3
"""Uji fakta untuk tambahan isi artikel 3228 (sertifikat tanah) tslaw.id."""
import json, urllib.request

tok = json.load(open("/home/mantapman/.hermes/profiles/atun/workspace/.serper_token.json"))
KEY = tok.get("api_key") or tok.get("key") or list(tok.values())[0]


def cari(q):
    req = urllib.request.Request(
        "https://google.serper.dev/search",
        data=json.dumps({"q": q, "gl": "id", "hl": "id", "num": 5}).encode(),
        headers={"X-API-KEY": KEY, "Content-Type": "application/json"})
    with urllib.request.urlopen(req, timeout=60) as r:
        d = json.load(r)
    out = []
    for o in d.get("organic", [])[:5]:
        out.append({"t": o.get("title"), "s": (o.get("snippet") or "")[:320], "u": o.get("link")})
    return d.get("answerBox") or d.get("knowledgeGraph") or None, out


QS = [
    "rumus biaya pengukuran tanah BPN luas dibagi 500 dikali HSBKu ditambah 100.000",
    "besaran BPHTB 5 persen NPOPTKP minimal 60 juta waris hibah wasiat 300 juta",
    "PPh final 2,5 persen pengalihan hak atas tanah bangunan PP 34 tahun 2016",
    "aplikasi Sentuh Tanahku cek status pendaftaran sertifikat tanah",
    "sertifikat tanah elektronik BPN sejak 2021 Permen ATR BPN",
    "cara mengubah girik letter C menjadi sertifikat SHM pendaftaran tanah pertama kali",
    "syarat balik nama sertifikat tanah warisan surat keterangan waris turunan waris",
    "program PTSL pendaftaran tanah gratis biaya BPHTB",
]
for q in QS:
    try:
        ab, org = cari(q)
    except Exception as e:
        print("=" * 100); print("Q:", q); print("GAGAL:", type(e).__name__, str(e)[:200]); continue
    print("=" * 100)
    print("Q:", q)
    if ab:
        print("ANSWERBOX:", json.dumps(ab, ensure_ascii=False)[:700])
    for o in org:
        print(" -", o["t"], "|", o["u"])
        print("   ", o["s"])
