#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""修 crawl_yeda.py：默认页数上限（避免翻全站超 600s 被杀 → 导入步骤永远跑不到）。"""
import io
import os
import shutil

D = "/root/gov_crawler"
fn = "crawl_yeda.py"
p = os.path.join(D, fn)
src = io.open(p, encoding="utf-8").read()

old = '_MAX_PG = _AP_ARGS.pages if _AP_ARGS.pages > 0 else None'
new = ('# 2026-09-21 修复：原来无上限 → range(2, total_pages+1) 翻全站所有页，\n'
       '#   每页 sleep 0.3s 再逐条抓详情，必然超过调度器 SCRIPT_TIMEOUT=600s 被杀，\n'
       '#   于是「写 gov_raw」那一步永远执行不到 → 库里最新长期停在 2026-06-25。\n'
       '#   默认限 10 页（新增内容都在前几页；已有标题会被跳过，故后续轮次很快）。\n'
       '_MAX_PG = _AP_ARGS.pages if _AP_ARGS.pages > 0 else 10')

assert src.count(old) == 1, "锚点命中 %d 次" % src.count(old)
src = src.replace(old, new)

import ast
ast.parse(src)

bak = os.path.join(D, "Archive", fn + ".bak_20260921_pagecap")
os.makedirs(os.path.dirname(bak), exist_ok=True)
if not os.path.exists(bak):
    shutil.copy2(p, bak)
io.open(p, "w", encoding="utf-8").write(src)
print("   ✅ crawl_yeda.py 默认页数上限=10（备份 Archive/%s.bak_20260921_pagecap）" % fn)
