#!/usr/bin/env python3
"""批量注册 8 个新站点配置到 daily_crawl_config.json (先备份)"""
import json, shutil, datetime

CFG = "/root/gov_crawler/daily_crawl_config.json"
shutil.copy(CFG, CFG + f".bak_{datetime.datetime.now():%Y%m%d_%H%M%S}")

cfg = json.load(open(CFG))

new_entries = [
    {
        "name": "桂阳县-通知公告",
        "script": "crawl_hngy_tzgg.py",
        "incremental": True,
        "args": "--pages 5",
        "sync_mode": "direct_server",
        "enabled": True,
        "group": "湖南",
        "note": "桂阳县政府 hngy.gov.cn 通知公告 total=9512/476页, MMB1防护(zixing同款)需playwright-stealth, 静态分页default_N.htm, 详情div.xl-content截断xl-weixin, 前5页75条",
        "timeout": 1800,
    },
    {
        "name": "汉川市-通知公告",
        "script": "crawl_hanchuan_tzgg.py",
        "incremental": True,
        "args": "--pages 5",
        "sync_mode": "direct_server",
        "enabled": True,
        "group": "湖北",
        "note": "汉川市政府 hanchuan.gov.cn 通知公告 total=160条, JPAAS .jhtml JS混淆挑战(JbU)需playwright执行, 静态分页index_N.jhtml, 详情div.p-xwxq-content, 前5页50条",
        "timeout": 1200,
    },
    {
        "name": "宜昌市发改委-行政服务中心窗口公告",
        "script": "crawl_yichang_fgw.py",
        "incremental": True,
        "args": "--pages 5",
        "sync_mode": "direct_server",
        "enabled": True,
        "group": "湖北",
        "note": "宜昌发改委子站 fgw.yichang.gov.cn 窗口公告 total约100条, 无防护纯静态urllib直爬, 列表list-40625-N.html, 详情content-40625-{id}-1.html div.txtcontent-div, 月度项目审批核准和备案公告含项目代码",
        "timeout": 900,
    },
    {
        "name": "青川县-公示公告",
        "script": "crawl_cnqc_v2.py",
        "incremental": True,
        "args": "--col gsgg --pages 5",
        "sync_mode": "direct_server",
        "enabled": True,
        "group": "四川",
        "note": "青川县政府 cnqc.gov.cn 公示公告 /new/list/20171130181953989.html total约750条/50页, 瑞数4+帝联双WAF需playwright-stealth全程goto(3-8s抖动), 详情/New/Detail div.msg-content, 与zdly栏目有重叠",
        "timeout": 1800,
    },
    {
        "name": "青川县-环境保护政府信息公开",
        "script": "crawl_cnqc_v2.py",
        "incremental": True,
        "args": "--col hjbh --pages 5",
        "sync_mode": "direct_server",
        "enabled": True,
        "group": "四川",
        "note": "青川县政府 cnqc.gov.cn 环境保护栏目 /gongkai/list/20220811145224789.html?t=31 total约465条/31页, 双WAF需playwright-stealth全程goto, 详情/gongkai/show div._srcoll mt35(注意非msg-content), 前5页100条",
        "timeout": 1800,
    },
    {
        "name": "徽州区生态环境分局-建设项目环评审批",
        "script": "crawl_ahhz_hpgs.py",
        "incremental": True,
        "args": "--pages 5",
        "sync_mode": "direct_server",
        "enabled": True,
        "group": "安徽",
        "note": "徽州区政府 ahhz.gov.cn 基层政务公开-生态环境 organ=6615882 cat=1000260 total=306/21页, 瑞数4+帝联需playwright-stealth, grassrootsContentPageList API(siteId=6793339), 详情/zwgk/grassroots/{organ}/{cid}.html div.wzcon.j-fontContent, 前5页75条环评批复/批前/受理公示",
        "timeout": 1800,
    },
    {
        "name": "屯溪区-通知公告",
        "script": "crawl_ahtxq_tzgg.py",
        "incremental": True,
        "args": "--pages 5",
        "sync_mode": "direct_server",
        "enabled": True,
        "group": "安徽",
        "note": "屯溪区政府 ahtxq.gov.cn 通知公告 /zxzx/tzgg 每页20条, 瑞数4+帝联需playwright-stealth, 翻页API /content/column/6793870?pageIndex=N, 详情div.wzcon.j-fontContent, 含突出生态环境问题整改验收销号公示, 前5页100条",
        "timeout": 1800,
    },
    {
        "name": "资兴市-环境治理及建设项目公示",
        "script": "crawl_zixing_hjzl.py",
        "incremental": True,
        "args": "--pages 5",
        "sync_mode": "direct_server",
        "enabled": True,
        "group": "湖南",
        "note": "资兴市政府 zixing.gov.cn 环境治理及建设项目公示 total=622/32页, MMB1防护需playwright-stealth, 静态分页default_N.htm, 详情content_XXXX.html div.content, 环评审批决定/受理公示, 前5页75条",
        "timeout": 1800,
    },
]

# 去重: 同名存在则跳过
existing_names = {e.get("name") for e in cfg}
added = 0
for e in new_entries:
    if e["name"] in existing_names:
        print(f"SKIP 已存在: {e['name']}")
        continue
    cfg.append(e)
    added += 1

json.dump(cfg, open(CFG, "w"), ensure_ascii=False, indent=1)
print(f"注册 {added} 条, 总数 {len(cfg)}")
