"""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))