#!/usr/bin/env python3
"""Check existing ningguo_sthj data quality and config"""
import sqlite3

DB_PATH = "/root/search.db"
conn = sqlite3.connect(DB_PATH)
c = conn.cursor()

# Check data
c.execute("SELECT COUNT(*) FROM gov_raw WHERE script_name='crawl_ningguo_sthj.py'")
cnt = c.fetchone()[0]
print(f"ningguo_sthj 数据: {cnt}条")

# Check FTS
c.execute("SELECT COUNT(*) FROM gov_search WHERE rowid IN (SELECT id FROM gov_raw WHERE script_name='crawl_ningguo_sthj.py')")
fts = c.fetchone()[0]
print(f"FTS同步: {fts}条")

# Sample data quality
c.execute("""
    SELECT id, title, publish_date, length(content),
           CASE WHEN content LIKE '%\n\n%' THEN '分段OK' ELSE '未分段' END as quality,
           substr(content, 1, 100) as snippet
    FROM gov_raw 
    WHERE script_name='crawl_ningguo_sthj.py' 
    ORDER BY publish_date DESC LIMIT 5
""")
print("\n最新5条数据:")
for row in c.fetchall():
    snippet_clean = row[5].replace('\n', ' ') if row[5] else ''
    print(f"  #{row[0]} {row[1][:50]}")
    print(f"    日期={row[2]} 正文={row[3]}chars [{row[4]}]")
    print(f"    正文开头: {snippet_clean[:80]}")

# Check date range
c.execute("SELECT MIN(publish_date), MAX(publish_date) FROM gov_raw WHERE script_name='crawl_ningguo_sthj.py'")
min_d, max_d = c.fetchone()
print(f"\n日期范围: {min_d} ~ {max_d}")

# Check if running in daily config
conn.close()

# Check config
import json
with open("/root/gov_crawler/daily_crawl_config.json") as f:
    config = json.load(f)

for entry in config:
    if "ningguo" in entry.get("script", "").lower():
        print(f"\n日跑配置:")
        print(f"  名称: {entry.get('name', 'N/A')}")
        print(f"  脚本: {entry.get('script', 'N/A')}")
        print(f"  组: {entry.get('group', 'N/A')}")
        print(f"  args: {entry.get('args', 'N/A')}")
