#!/usr/bin/env python3
"""hc36: konversi PNG -> JPEG ke openclaw-img + verifikasi 200 via KEDUA ingress funnel."""
import os, subprocess, sys
from PIL import Image

SRC = os.path.expanduser("~/.openclaw/workspace-atun/studiosoft_hc36_carousel")
DST = os.path.expanduser("~/.openclaw/workspace-atun/openclaw-img")
MAP = [
    ("01_cover.png", "ss_hc36_klinikdm_01_cover.jpg"),
    ("02_perjalanan_pasien.png", "ss_hc36_klinikdm_02_perjalanan.jpg"),
    ("03_strategi_1_3.png", "ss_hc36_klinikdm_03_strategi13.jpg"),
    ("04_strategi_4_5.png", "ss_hc36_klinikdm_04_strategi45.jpg"),
    ("05_cta.png", "ss_hc36_klinikdm_05_cta.jpg"),
]

for s, d in MAP:
    im = Image.open(os.path.join(SRC, s)).convert("RGB")
    out = os.path.join(DST, d)
    im.save(out, "JPEG", quality=90, optimize=True, progressive=True)
    print("OK %-34s %-10s %s KB" % (d, im.size, round(os.path.getsize(out) / 1024, 1)))

# verifikasi JPEG valid
for s, d in MAP:
    p = os.path.join(DST, d)
    Image.open(p).verify()
    im = Image.open(p)
    assert im.size == (1080, 1350), im.size
    print("PIL OK", d, im.size, im.mode)

ips = subprocess.run(["dig", "+short", "mantapserver.tail3947bb.ts.net", "A", "@1.1.1.1"],
                     capture_output=True, text=True).stdout.split()
ips = [i for i in ips if i.count(".") == 3]
print("ingress:", ips)
bad = 0
for s, d in MAP:
    u = "https://mantapserver.tail3947bb.ts.net/openclaw-img/" + d
    for ip in ips[:2]:
        r = subprocess.run(["curl", "-s", "-o", "/dev/null", "-w", "%{http_code}", "--max-time", "25",
                            "--resolve", "mantapserver.tail3947bb.ts.net:443:%s" % ip, u],
                           capture_output=True, text=True)
        code = r.stdout.strip()
        print("%-34s @%-16s %s" % (d, ip, code))
        if code != "200":
            bad += 1
print("BAD:", bad)
sys.exit(1 if bad else 0)
