#!/usr/bin/env python3
"""Probe teknis DAS: TTFB, robots, sitemap, schema FAQ, kondisi halaman utama."""
import json, re, time, urllib.request

UA = {"User-Agent": "Mozilla/5.0 (compatible; HermesAgent/1.0)"}
URLS = ["https://dasindonesia.com/", "https://dasindonesia.com/bengkel-spesialis-matic-surabaya/",
        "https://dasindonesia.com/bengkel-mercy-surabaya/", "https://dasindonesia.com/bengkel-spesialis-nissan-surabaya/"]

print("=== waktu muat (TTFB total, 2x tiap URL) ===")
for u in URLS:
    for i in range(2):
        t0 = time.time()
        try:
            r = urllib.request.Request(u, headers=UA)
            resp = urllib.request.urlopen(r, timeout=90)
            body = resp.read()
            dt = time.time() - t0
            print(f"  {dt:>5.2f}s | {len(body)/1024:>6.0f} KB | {u.replace('https://dasindonesia.com','')[:55]}")
        except Exception as e:
            print(f"  GAGAL {time.time()-t0:.2f}s | {str(e)[:60]} | {u[:55]}")
        time.sleep(1)

print("\n=== robots.txt & sitemap ===")
for p in ("/robots.txt", "/sitemap_index.xml"):
    try:
        r = urllib.request.Request("https://dasindonesia.com" + p, headers=UA)
        b = urllib.request.urlopen(r, timeout=60).read().decode("utf-8", "replace")
        print(f"  {p}: {len(b)} byte")
        print("   ", re.sub(r"\s+", " ", b[:260]))
    except Exception as e:
        print(f"  {p} GAGAL {str(e)[:60]}")

print("\n=== schema & FAQ di halaman uang ===")
for u in URLS[1:]:
    r = urllib.request.Request(u, headers=UA)
    h = urllib.request.urlopen(r, timeout=90).read().decode("utf-8", "replace")
    faq = h.count('"FAQPage"')
    ld = len(re.findall(r'application/ld\+json', h))
    tipe = sorted(set(re.findall(r'"@type":"([A-Za-z]+)"', h)))
    kata = len(re.sub(r"<[^>]+>", " ", h).split())
    print(f"  {u.replace('https://dasindonesia.com','')[:52]:<54} FAQPage:{faq} ld+json:{ld} kata≈{kata}")
    print(f"      tipe: {', '.join(tipe[:9])}")
