| 123456789101112131415161718192021222324252627282930313233343536 |
- #!/usr/bin/env python3
- """Clear all news data but keep feed_state rows intact."""
- import os
- import sqlite3
- import sys
- from pathlib import Path
- DB_PATH = Path(os.getenv("NEWS_MCP_DB_PATH", str(Path(__file__).resolve().parent.parent / "data" / "news.sqlite")))
- if len(sys.argv) > 1:
- DB_PATH = Path(sys.argv[1])
- if not DB_PATH.exists():
- print(f"DB not found: {DB_PATH}", file=sys.stderr)
- sys.exit(1)
- TABLES_TO_CLEAR = [
- "cluster_entities",
- "cluster_keywords",
- "entity_metadata",
- "clusters",
- "meta",
- ]
- conn = sqlite3.connect(str(DB_PATH))
- for table in TABLES_TO_CLEAR:
- conn.execute(f"DELETE FROM {table}")
- conn.commit()
- # Report remaining feed_state count
- cur = conn.execute("SELECT COUNT(*) FROM feed_state")
- feed_count = cur.fetchone()[0]
- conn.close()
- print(f"Done. Cleared: {', '.join(TABLES_TO_CLEAR)}. feed_state rows kept: {feed_count}")
|