#!/usr/bin/env python3
"""Baca isi penuh artikel Klinik Hukumonline SIUP/TDP + cari teks resmi UU 40/2007 Pasal 7."""
import json, re, urllib.request, urllib.error

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
tok = json.load(open(f"{WS}/.serper_token.json"))
KEY = tok.get("api_key") or tok.get("key") or list(tok.values())[0]
UA = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124 Safari/537.36"}


def teks(u, batas=4000000):
    try:
        with urllib.request.urlopen(urllib.request.Request(u, headers=UA), timeout=120) as x:
            b = x.read(batas)
    except urllib.error.HTTPError as e:
        return f"HTTP {e.code}"
    except Exception as e:
        return f"ERR {str(e)[:70]}"
    t = b.decode("utf-8", "replace")
    t = re.sub(r"<(script|style)[^>]*>.*?</\1>", " ", t, flags=re.S | re.I)
    t = re.sub(r"<[^>]+>", " ", t)
    t = t.replace("&nbsp;", " ").replace("&amp;", "&").replace("&#8217;", "'").replace("&quot;", '"')
    return re.sub(r"\s+", " ", t).strip()


t = teks("https://www.hukumonline.com/klinik/a/siup-dan-tdp-lt6142fb11737c5/")
i = t.find("SIUP dan TDP")
print("=== HUKUMONLINE klinik, badan artikel:")
print(t[t.find("Judul:"): t.find("Judul:") + 9000])

print("\n\n=== SEARCH teks UU 40/2007 Pasal 7")
req = urllib.request.Request("https://google.serper.dev/search",
                             data=json.dumps({"q": "\"Perseroan didirikan oleh 2 (dua) orang atau lebih dengan akta notaris\" UU 40/2007 Pasal 7",
                                              "gl": "id", "hl": "id", "num": 6}).encode(),
                             headers={"X-API-KEY": KEY, "Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=60) as r:
    j = json.load(r)
for o in j.get("organic", [])[:6]:
    print("  -", o.get("link"))
    print("    ", (o.get("snippet") or "")[:260])

print("\n=== SEARCH PP 28/2025 perizinan berusaha")
req = urllib.request.Request("https://google.serper.dev/search",
                             data=json.dumps({"q": "PP 28 tahun 2025 penyelenggaraan perizinan berusaha berbasis risiko mencabut PP 5/2021",
                                              "gl": "id", "hl": "id", "num": 6}).encode(),
                             headers={"X-API-KEY": KEY, "Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=60) as r:
    j = json.load(r)
for o in j.get("organic", [])[:6]:
    print("  -", o.get("link"))
    print("    ", (o.get("snippet") or "")[:260])
