#!/usr/bin/env python3
"""Apply user-requested group fixes + remove redundant sinopec entries"""
import json

PATH = '/root/gov_crawler/daily_crawl_config.json'

with open(PATH, 'r') as f:
    items = json.load(f)

changes = []
to_remove = []

for item in items:
    name = item.get('name', '')
    script = item.get('script', '')

    # 1. 环保公示网-全部 → 环评网站
    if name == '环保公示网-全部':
        item['group'] = '环评网站'
        changes.append(('环保公示网-全部', '其他 -> 环评网站'))

    # 2. 清徐经济开发区-通知公告 → 山西（清徐县=山西太原）
    elif name == '清徐经济开发区-通知公告':
        item['group'] = '山西'
        changes.append(('清徐经济开发区-通知公告', '企业 -> 山西'))

    # 3. 金乡新材料产业园-信息公开 → 山东（金乡县=山东济宁）
    elif name == '金乡新材料产业园-信息公开':
        item['group'] = '山东'
        changes.append(('金乡新材料产业园-信息公开', '企业 -> 山东'))

    # 4. bynesrmtzx.cn-通知公告 → 内蒙古
    elif name == 'bynesrmtzx.cn-通知公告':
        item['group'] = '内蒙古'
        changes.append(('bynesrmtzx.cn-通知公告', '企业 -> 内蒙古'))

    # 5. 孝义市梧桐煤化工园区-园区动态 → 山西
    elif name == '孝义市梧桐煤化工园区-园区动态':
        item['group'] = '山西'
        changes.append(('孝义市梧桐煤化工园区-园区动态', '企业 -> 山西'))

    # 6. 西北在线-广告专栏 → 西北（区域名）
    elif name == '西北在线-广告专栏':
        item['group'] = '西北'
        changes.append(('西北在线-广告专栏', '企业 -> 西北'))

    # 7. 0745news.cn-公告通知 → 湖南（0745=怀化区号）
    elif name == '0745news.cn-公告通知':
        item['group'] = '湖南'
        changes.append(('0745news.cn-公告通知', '企业 -> 湖南'))

    # 8. 连云经济开发区-开发区文件 → 江苏（连云区=连云港）
    elif name == '连云经济开发区-开发区文件':
        item['group'] = '江苏'
        changes.append(('连云经济开发区-开发区文件', '企业 -> 江苏'))

    # 9. 修水县-城投集团通知公告 → 江西（修水县=江西九江）
    elif name == '修水县-城投集团通知公告':
        item['group'] = '江西'
        changes.append(('修水县-城投集团通知公告', '企业 -> 江西'))

    # 10. 中石化重复条目检查
    # These individual scripts are covered by crawl_sinopec.py:
    redundant_sinopec = {
        '燕山石化': 'crawl_bypc.py',
        '镇海石化': 'crawl_zrcc.py',
        '中科炼化': 'crawl_zrpc.py',
        '中科炼化-项目环保三同时': 'crawl_zrpc_env.py',
    }
    if name in redundant_sinopec:
        to_remove.append(item)
        changes.append((f'{name} ({redundant_sinopec[name]})', '移除——已由中石化统一爬虫覆盖'))

# Apply removals
for item in to_remove:
    items.remove(item)

# Save
with open(PATH, 'w') as f:
    json.dump(items, f, ensure_ascii=False, indent=2)

print(f'Changes applied: {len(changes)}')
for c in changes:
    print(f'  {"✓" if "移除" in c[1] else "→"} {c[0]:30s} | {c[1]}')
print(f'\nTotal configs: {len(items)}')
print(f'Removed redundant sinopec entries: {len(to_remove)}')
