#!/usr/bin/env python3
"""Data kueri GSC untuk Kendangsari Hospital — bahan memilih topik konten GBP."""
import os
from datetime import date, timedelta
from google.oauth2 import service_account
from googleapiclient.discovery import build

SITE = "https://rsia.kendangsari.com/"
creds = service_account.Credentials.from_service_account_file(
    os.path.expanduser("~/.hermes/gsc_service_account.json"),
    scopes=["https://www.googleapis.com/auth/webmasters.readonly"])
gsc = build("webmasters", "v3", credentials=creds, cache_discovery=False)
AKHIR = date.today() - timedelta(days=2)
AWAL = AKHIR - timedelta(days=89)

try:
    rows = gsc.searchanalytics().query(siteUrl=SITE, body={
        "startDate": AWAL.isoformat(), "endDate": AKHIR.isoformat(), "dimensions": ["query"],
        "rowLimit": 1000}).execute().get("rows", [])
    tot = gsc.searchanalytics().query(siteUrl=SITE, body={
        "startDate": AWAL.isoformat(), "endDate": AKHIR.isoformat()}).execute().get("rows", [])
    if tot:
        x = tot[0]
        print(f"90 hari: {int(x['clicks'])} klik · {int(x['impressions'])} tayangan · posisi {x['position']:.1f}")
    print(f"kueri: {len(rows)}\n")
    print("=== 20 kueri terbanyak ===")
    for r in sorted(rows, key=lambda y: -y["impressions"])[:20]:
        print(f"  {int(r['impressions']):>5} tayang | {int(r['clicks']):>3} klik | pos {r['position']:>5.1f} | «{r['keys'][0]}»")
    print("\n=== kueri berklik terbanyak ===")
    for r in sorted(rows, key=lambda y: -y["clicks"])[:12]:
        if r["clicks"]:
            print(f"  {int(r['clicks']):>3} klik | {int(r['impressions']):>5} tayang | pos {r['position']:>5.1f} | «{r['keys'][0]}»")
except Exception as e:
    print("gagal ambil GSC:", str(e)[:200])
