#!/usr/bin/env python3
"""Verifikasi jadwal DAS FB 11 Sep 2026 dari API (baca balik, bukan percaya output create)."""
import json, re, urllib.request
from repliz_client import HEADERS, BASE, ACC

SID = "6aa3d431703d29cb58368735"
found = None
page = 1
while True:
    req = urllib.request.Request(f'{BASE}/public/schedule?page={page}&limit=100', headers=HEADERS)
    data = json.loads(urllib.request.urlopen(req, timeout=60).read())
    for d in data.get('docs', []):
        if d.get('_id') == SID:
            found = d
    if page >= data.get('totalPages', 1) or found:
        break
    page += 1

if not found:
    print("❌ jadwal TIDAK ditemukan di API")
    raise SystemExit(1)

desc = found.get('description') or ''
print("id          :", found.get('_id'))
print("accountId   :", found.get('accountId'), "==", ACC.DAS_FB, "→", found.get('accountId') == ACC.DAS_FB)
print("status      :", found.get('status'))
print("scheduleAt  :", found.get('scheduleAt'))
print("type        :", found.get('type'))
print("topic       :", found.get('topic'))
print("replies     :", found.get('replies'))
print("medias      :", json.dumps(found.get('medias'), ensure_ascii=False))
print("panjang cap :", len(desc), "char")
print("link ada    :", "https://dasindonesia.com/bengkel-premium-terbaik-di-surabaya-ciri-layanan-dan-cara-memilih-yang-tepat" in desc)
print("0 mention   :", not re.search(r'@\w+', desc))
print("paragraf    :", len([x for x in desc.split('\n\n') if x.strip()]))
print("\n--- CAPTION ---\n" + desc)

# media live check via internet path
import subprocess
for ip in ("103.84.155.153", "103.84.155.217"):
    code = subprocess.run(["curl", "-s", "-o", "/dev/null", "-w", "%{http_code}", "--max-time", "25",
                           "--resolve", f"mantapserver.tail3947bb.ts.net:443:{ip}",
                           (found.get('medias') or [{}])[0].get('url', '')],
                          capture_output=True, text=True).stdout
    print(f"media via ingress {ip}: HTTP {code}")
