#!/usr/bin/env python3
"""DARURAT TSLaw: kejar salinan konten beranda dari cache WP Rocket, arsip web, dan cache mesin pencari."""
import gzip, io, json, os, urllib.request, urllib.error

UA = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124 Safari/537.36"}
OUT = "/home/mantapman/.hermes/profiles/atun/workspace/tslaw_pemulihan"
os.makedirs(OUT, exist_ok=True)

CARI = [
    ("wp-rocket cache", "https://www.tslaw.id/wp-content/cache/wp-rocket/www.tslaw.id/index.html"),
    ("wp-rocket gz", "https://www.tslaw.id/wp-content/cache/wp-rocket/www.tslaw.id/index.html.gz"),
    ("wp-rocket tanpa www", "https://www.tslaw.id/wp-content/cache/wp-rocket/tslaw.id/index.html"),
    ("wp-super-cache", "https://www.tslaw.id/wp-content/cache/supercache/www.tslaw.id/index.html"),
    ("litespeed", "https://www.tslaw.id/wp-content/litespeed/html/www.tslaw.id/index.html"),
    ("arsip wayback www", "https://web.archive.org/web/2026/https://www.tslaw.id/"),
    ("arsip wayback id", "https://web.archive.org/web/2026/http://tslaw.id/"),
]
for nama, u in CARI:
    try:
        r = urllib.request.urlopen(urllib.request.Request(u, headers=UA), timeout=90)
        data = r.read()
        if u.endswith(".gz"):
            try:
                data = gzip.decompress(data)
            except Exception:
                pass
        teks = data.decode("utf-8", "replace")
        tanda = []
        if "spectra" in teks:
            tanda.append("ada blok spectra")
        if "Kantor Pengacara Terbaik" in teks and "Tito Suprianto" in teks:
            tanda.append("ada konten beranda")
        if len(teks) > 50000:
            tanda.append(f"{len(teks)//1024} KB")
        f = f"{OUT}/cache_{nama.replace(' ', '_')}.html"
        open(f, "w").write(teks)
        print(f"  ✅ {nama:<22} HTTP {r.status} | {len(teks)//1024:>5} KB | {', '.join(tanda) or 'kecil/kosong'} → {f}")
    except urllib.error.HTTPError as e:
        print(f"  ❌ {nama:<22} HTTP {e.code}")
    except Exception as e:
        print(f"  ❌ {nama:<22} {str(e)[:60]}")

print("\n=== arsip.org CDX (semua snapshot domain) ===")
for dom in ("tslaw.id", "www.tslaw.id"):
    try:
        u = f"http://web.archive.org/cdx/search/cdx?url={dom}&output=json&limit=20&from=2026"
        with urllib.request.urlopen(urllib.request.Request(u, headers=UA), timeout=90) as x:
            d = json.loads(x.read() or b"[]")
        print(f"   {dom}: {len(d)-1 if d else 0} snapshot")
        for baris in d[1:6]:
            print("     ", baris[:4])
    except Exception as e:
        print(f"   {dom}: gagal {str(e)[:80]}")
