#!/usr/bin/env python3
"""Lihat paket peta (Google Maps/Places) untuk kueri klinik di Krian & Sidoarjo: siapa muncul, rating, jumlah ulasan."""
import json, time, urllib.request

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

KUERI = ["dokter kulit krian", "dokter kulit sidoarjo", "klinik kecantikan krian",
         "klinik kulit sidoarjo", "dokter kulit terdekat", "the skin code clinic"]


def places(q):
    r = urllib.request.Request("https://google.serper.dev/places",
                               data=json.dumps({"q": q, "gl": "id", "hl": "id"}).encode(), headers=H)
    try:
        return json.loads(urllib.request.urlopen(r, timeout=60).read()).get("places", [])
    except Exception as e:
        print(f"   «{q}» gagal: {str(e)[:50]}")
        return []


for q in KUERI:
    print(f"\n=== «{q}» ===")
    for i, p in enumerate(places(q)[:6], 1):
        nama = str(p.get("title", ""))[:36]
        tsc = "  ← TSC" if "skin code" in nama.lower() else ""
        print(f"   {i}. {nama:<38} rating {str(p.get('rating')):<4} · {str(p.get('ratingCount')):>5} ulasan · "
              f"{str(p.get('address',''))[:38]}{tsc}")
    time.sleep(0.4)
