import re

with open("/root/gov_crawler/crawl_luanxian_854.py", "r") as f:
    content = f.read()

# Patch 2: add PDF placeholder before "return content, attachments"
old2 = """        attachments.append({"title": a_text.strip(), "url": urllib.parse.urljoin(url, a_href)})

    return content, attachments"""

new2 = """        attachments.append({"title": a_text.strip(), "url": urllib.parse.urljoin(url, a_href)})

    # 正文为空但有附件时，加PDF占位提示
    if (not content or not content.strip()) and attachments:
        content = "\u3010\u8be5\u6587\u6863\u5185\u5bb9\u8be6\u89c1\u9644\u4ef6PDF/\u6587\u6863\u3011\n"
        for att in attachments:
            content += "\u9644\u4ef6: " + att["title"] + " - " + att["url"] + "\n"

    return content, attachments"""

count = content.count(old2)
print(f"Found {count} occurrences", flush=True)
if count > 0:
    content = content.replace(old2, new2, 1)
    with open("/root/gov_crawler/crawl_luanxian_854.py", "w") as f:
        f.write(content)
    print("Patch 2 applied", flush=True)
else:
    # Find context
    idx = content.rfind("return content, attachments")
    print("Context:", repr(content[idx-200:idx+50]), flush=True)
