#!/usr/bin/env python3
"""Cek keberadaan DAS di situs direktori/agregator yang menguasai SERP bengkel Surabaya."""
import json, re, time, urllib.parse, urllib.request, urllib.error

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
KUNCI = json.load(open(f"{WS}/.serper_token.json"))["key"]
H = {"X-API-KEY": KUNCI, "Content-Type": "application/json", "User-Agent": "Mozilla/5.0"}
UA = {"User-Agent": "Mozilla/5.0"}


def serper(q, num=10):
    body = json.dumps({"q": q, "gl": "id", "hl": "id", "num": num}).encode()
    r = urllib.request.urlopen(urllib.request.Request("https://google.serper.dev/search",
                                                      data=body, headers=H), timeout=90)
    return json.loads(r.read())


print("=== apakah DAS disebut di situs direktori yang menguasai SERP? ===")
for q in ['"DAS Bengkel" ikame', '"DAS Bengkel Indonesia" otospector', '"DAS Bengkel" montiro',
          'das bengkel indonesia surabaya alamat']:
    d = serper(q)
    org = d.get("organic") or []
    print(f"\n  kueri: {q}")
    for h in org[:4]:
        link = str(h.get("link", ""))
        print(f"    - {link.split('/')[2]:<28} | {str(h.get('title'))[:60]}")

print("\n=== halaman direktori Surabaya: apakah DAS terdaftar? ===")
for u in ["https://ikame.co.id/bengkel-mobil-surabaya", "https://www.otospector.co.id/bengkel/surabaya"]:
    try:
        t = urllib.request.urlopen(urllib.request.Request(u, headers=UA), timeout=60).read().decode("utf-8", "replace")
        ada = "das" in t.lower() and ("das bengkel" in t.lower() or "dasindonesia" in t.lower())
        print(f"  {u[:56]:<58} {len(t):>7} char | DAS disebut: {'YA' if ada else 'tidak'}")
    except urllib.error.HTTPError as e:
        print(f"  {u[:56]:<58} HTTP {e.code}")
    except Exception as e:
        print(f"  {u[:56]:<58} gagal {str(e)[:40]}")
    time.sleep(0.5)
