#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""diag_residual.py —— 看残留的「长正文无 <p>」是真拍平还是源站纯文本"""
import re
import sqlite3

db = sqlite3.connect("/root/search.db", timeout=30)
db.execute("PRAGMA busy_timeout=30000")

for S in ["颍泉区人民政府-公告公示", "江城县人民政府-通知公告"]:
    print("=" * 96)
    print("【%s】" % S)
    rows = list(db.execute(
        "SELECT id, page_url, title, content FROM gov_raw WHERE site_name=? "
        "AND LENGTH(content)>400 AND content NOT LIKE '%<p%' LIMIT 6", (S,)))
    for rid, url, t, c in rows:
        segs = [x for x in c.split("\n\n") if x.strip()]
        single_nl = len(re.findall(r"(?<!\n)\n(?!\n)", c))
        print("  id=%s 段=%-3d 单换行=%-4d 长=%-6d %s" % (rid, len(segs), single_nl, len(c), (t or "")[:40]))
        print("     ", repr(c[:180]))
    print("  合计: %d 行" % db.execute(
        "SELECT COUNT(*) FROM gov_raw WHERE site_name=? AND LENGTH(content)>400 AND content NOT LIKE '%<p%'",
        (S,)).fetchone()[0])

print()
print("=== 颍泉那 1 行非法 <p><p> ===")
r = db.execute("SELECT id, title, content FROM gov_raw WHERE site_name=? AND content LIKE '%<p><p%' LIMIT 1",
               ("颍泉区人民政府-公告公示",)).fetchone()
if r:
    print("  id=%s %s" % (r[0], (r[1] or "")[:44]))
    i = r[2].find("<p><p")
    print("   上下文:", repr(r[2][max(0, i - 120):i + 200]))
db.close()
