import json
import re
import sys
from pathlib import Path

if hasattr(sys.stdout, "reconfigure"):
    sys.stdout.reconfigure(encoding="utf-8")

inbox_dir = Path("docs/design_requests/inbox")
files = sorted(inbox_dir.glob("*.md"))

for f in files:
    content = f.read_text(encoding="utf-8")
    
    # Extract deliverables
    m_deliv = re.search(r"## 4\. DANH MỤC SẢN PHẨM ĐẦU RA MONG ĐỢI \(DELIVERABLES\)(.*?)(?:## 5\.|\Z)", content, re.DOTALL)
    delivs = []
    if m_deliv:
        for line in m_deliv.group(1).splitlines():
            line = line.strip()
            m = re.search(r"- \[[ x]\]\s*`?([^`]+)`?", line)
            if m:
                delivs.append(m.group(1).strip())
                
    m_id = re.search(r"\*\*Mã Yêu Cầu \(Request ID\)\*\*:\s*`?([A-Za-z0-9_\-]+)`?", content)
    req_id = m_id.group(1) if m_id else f.stem
    
    m_dim = re.search(r"\*\*Kích Thước \(Dimensions\)\*\*:\s*`?([^`\n]+)`?", content)
    head_dim = m_dim.group(1) if m_dim else "N/A"
    
    m_res = re.search(r"\*\*Độ Phân Giải \(Resolution\)\*\*:\s*(.+)", content)
    res_spec = m_res.group(1).strip() if m_res else "N/A"

    print(f"=== {req_id} ===")
    print(f"Header Dims: {head_dim}")
    print(f"Resolution Spec: {res_spec}")
    for d in delivs:
        filename = Path(d).name
        # Search if filename or its parts are mentioned with dimensions in the text
        clean_name = filename.replace(".png", "").replace(".metal", "").replace(".json", "")
        # search for patterns like `1024x1024` or 512x256 etc near the word
        print(f"  Deliverable: {filename}")
    print()
