Explorer
/proc/5461/root/tmp/aa045f5_backfill_watchfields.py
← Zurück ↓ Download
"""AA-045-F5: Bestehende Watch-Signale aus score_breakdown nachfuellen."""
import sys, json
sys.path.insert(0, "/opt/struktur/social-media-radar")
import sqlite3
conn = sqlite3.connect("/var/lib/sma-data/signals.db")
conn.row_factory = sqlite3.Row
rows = conn.execute("""SELECT signal_id, score_breakdown FROM signals
    WHERE source_type='watch_entity' AND COALESCE(watch_entity_id,'')=''""").fetchall()
n = 0
for r in rows:
    try:
        bd = json.loads(r["score_breakdown"] or "{}")
    except Exception:
        continue
    if bd.get("watch_entity"):
        conn.execute("UPDATE signals SET watch_entity_id=?, watch_sector=?, watch_priority=? WHERE signal_id=?",
                     (bd["watch_entity"], bd.get("sector",""), bd.get("priority",""), r["signal_id"]))
        n += 1
conn.commit()
print("nachgefuellt:", n)
for r in conn.execute("""SELECT watch_sector, COUNT(*) FROM signals WHERE source_type='watch_entity' GROUP BY watch_sector"""):
    print(dict(r))