#!/usr/bin/env python3
"""Coba beberapa endpoint sitemap/robots lewat openssl_fetch dengan retry."""
import sys, re, time

sys.path.insert(0, "/home/mantapman/.hermes/profiles/atun/workspace")
from openssl_fetch import fetch

BASE = sys.argv[1] if len(sys.argv) > 1 else "https://dasindonesia.com"
PATHS = ["/robots.txt", "/wp-sitemap.xml", "/sitemap_index.xml", "/post-sitemap.xml",
         "/wp-sitemap-posts-post-1.xml", "/wp-json/wp/v2/posts?per_page=5"]


def dechunk(body):
    if not re.match(rb"^[0-9a-fA-F]+\r\n", body):
        return body
    out, rest = b"", body
    while rest:
        m = re.match(rb"([0-9a-fA-F]+)\r\n", rest)
        if not m:
            break
        n = int(m.group(1), 16)
        if n == 0:
            break
        rest = rest[m.end():]
        out += rest[:n]
        rest = rest[n + 2:]
    return out


for p in PATHS:
    url = BASE + p
    ok = False
    for i in range(3):
        try:
            st, hd, body = fetch(url, timeout=45)
            body = dechunk(body)
            print(f"{st}  {url}  len={len(body)}")
            print("   ", body[:300].decode("utf-8", "replace").replace("\n", " | "))
            ok = True
            break
        except Exception as e:
            print(f"   retry {i+1} {url}: {str(e)[:60]}")
    if not ok:
        print(f"GAGAL {url}")
    time.sleep(1)
