#!/usr/bin/env python3
"""DARURAT TSLaw: simpan salinan HTML halaman live yang masih memuat konten lama + potret tampilannya."""
import json, re, urllib.request
from playwright.sync_api import sync_playwright

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"
import os
os.makedirs(OUT, exist_ok=True)

print("=== 1. simpan HTML dari beberapa varian URL ===")
for nama, u in (("plain", "https://www.tslaw.id/"), ("nocache", "https://www.tslaw.id/?nocache=1"),
                ("v99", "https://www.tslaw.id/?v=99"), ("wpadmin", "https://www.tslaw.id/?preview=true")):
    try:
        r = urllib.request.urlopen(urllib.request.Request(u, headers=UA), timeout=120)
        b = r.read().decode("utf-8", "replace")
        f = f"{OUT}/live_{nama}.html"
        open(f, "w").write(b)
        print(f"   {nama:<8} {r.status} | {len(b)//1024:>5} KB | cf={r.headers.get('cf-cache-status')} "
              f"| blok konten lama: {'ADA' if 'Kantor Pengacara Terbaik' in b else 'tidak'} | → {f}")
    except Exception as e:
        print(f"   {nama:<8} gagal: {str(e)[:70]}")

print("\n=== 2. potret tampilan sekarang (desktop & ponsel) ===")
with sync_playwright() as p:
    b = p.chromium.launch(args=["--no-sandbox", "--disable-dev-shm-usage"])
    for nama, w, mob in (("desktop", 1280, False), ("ponsel", 390, True)):
        ctx = b.new_context(viewport={"width": w, "height": 1000}, is_mobile=mob, has_touch=mob)
        pg = ctx.new_page()
        pg.goto("https://www.tslaw.id/", wait_until="load", timeout=120000)
        pg.wait_for_timeout(6000)
        pg.screenshot(path=f"{OUT}/sekarang_{nama}.png", full_page=False)
        tinggi = pg.evaluate("() => document.body.scrollHeight")
        print(f"   {nama}: tinggi halaman {tinggi}px | screenshot {OUT}/sekarang_{nama}.png")
        ctx.close()
    b.close()
