#!/usr/bin/env python3
"""Cek fakta artikel perdata 14 Okt 2026: dasar hukum gugatan, mediasi, gugatan sederhana, e-court,
prodeo, arbitrase, dan keberadaan lembaga (LBH Surabaya, Posbakum PN, PBH PERADI, LBH APIK, BANI Surabaya)."""
import json, re, urllib.request, urllib.error

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
UA = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124 Safari/537.36"}


def get(u, n=300000):
    try:
        r = urllib.request.Request(u, headers=UA)
        with urllib.request.urlopen(r, timeout=70) as x:
            return x.status, x.read(n).decode("utf-8", "replace")
    except urllib.error.HTTPError as e:
        return e.code, ""
    except Exception as e:
        return type(e).__name__, ""


tok = json.load(open(f"{WS}/.serper_token.json"))
KEY = tok.get("api_key") or tok.get("key") or list(tok.values())[0]


def cari(q, n=5):
    req = urllib.request.Request("https://google.serper.dev/search",
                                 data=json.dumps({"q": q, "gl": "id", "hl": "id", "num": n}).encode(),
                                 headers={"X-API-KEY": KEY, "Content-Type": "application/json"})
    try:
        with urllib.request.urlopen(req, timeout=60) as r:
            d = json.load(r)
    except Exception as e:
        return [f"ERROR {e}"]
    out = []
    for o in d.get("organic", [])[:n]:
        out.append(f"{o.get('link')} :: {(o.get('snippet') or '')[:260]}")
    return out


Q = [
    "Pasal 118 HIR gugatan diajukan pengadilan negeri tempat tinggal tergugat",
    "Perma Nomor 1 Tahun 2016 prosedur mediasi di pengadilan masih berlaku",
    "gugatan sederhana Perma Nomor 4 Tahun 2019 nilai gugatan paling banyak Rp500 juta",
    "Perma Nomor 7 Tahun 2022 administrasi perkara persidangan elektronik e-court",
    "Pasal 237 HIR berperkara tanpa biaya prodeo pengadilan negeri",
    "LBH Surabaya alamat layanan bantuan hukum gratis",
    "Posbakum Pengadilan Negeri Surabaya layanan bantuan hukum",
    "Pusat Bantuan Hukum PERADI layanan pro bono",
    "LBH APIK Surabaya alamat bantuan hukum perempuan",
    "Lembaga Alternatif Penyelesaian Sengketa BANI Surabaya arbitrase",
    "Pasal 1243 KUHPerdata wanprestasi ganti biaya rugi bunga",
    "Pasal 1365 KUHPerdata perbuatan melawan hukum ganti rugi",
    "UU Nomor 30 Tahun 1999 arbitrase dan alternatif penyelesaian sengketa klausul",
    "cara mendaftar gugatan perdata pengadilan negeri syarat dan biaya panjar",
]

for q in Q:
    print(f"\n### {q}")
    for s in cari(q):
        print("  -", s)
