#!/usr/bin/env python3
"""Cek status index halaman kunci TSC, termasuk artikel baru, lewat GSC URL Inspection."""
import os, json, time, urllib.request, urllib.error
from google.auth.transport.requests import Request
from google.oauth2 import service_account

SITE = "https://www.theskincodeclinic.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"])
creds.refresh(Request())

URLS = [
    "https://www.theskincodeclinic.com/dokter-kulit-sidoarjo-panduan-berobat/",
    "https://www.theskincodeclinic.com/",
    "https://www.theskincodeclinic.com/dokter-kulit-kelamin-sidoarjo/",
    "https://www.theskincodeclinic.com/rekomendasi-6-klinik-kecantikan-di-krian-sidoarjo/",
    "https://www.theskincodeclinic.com/faq-dokter-kulit-krian/",
]
for u in URLS:
    body = json.dumps({"inspectionUrl": u, "siteUrl": SITE}).encode()
    req = urllib.request.Request(
        "https://searchconsole.googleapis.com/v1/urlInspection/index:inspect", data=body,
        headers={"Authorization": f"Bearer {creds.token}", "Content-Type": "application/json"})
    try:
        r = json.loads(urllib.request.urlopen(req, timeout=60).read())
        idx = r.get("inspectionResult", {}).get("indexStatusResult", {})
        print(f"  {idx.get('coverageState', '?'):<34} | crawl {str(idx.get('lastCrawlTime'))[:10]} | "
              f"verdict {idx.get('verdict', '?'):<6} | {u.replace('https://www.theskincodeclinic.com', '') or '/'}")
    except Exception as e:
        print(f"  gagal: {str(e)[:60]} | {u[-50:]}")
    time.sleep(1)
