Explorer
/proc/118/root/tmp/aa045f2_fix1_briefing.py
← Zurück ↓ Download
"""AA-045-F2 Fix 1: Briefings fuer Signale ohne briefing_winkel nachziehen."""
import sys
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 * FROM signals
  WHERE (briefing_winkel IS NULL OR briefing_winkel='')
    AND status NOT IN ('ignoriert','veroeffentlicht')
    AND mallorca_relevance > 0
  ORDER BY created_at DESC LIMIT 100""").fetchall()
print("Signale ohne Briefing:", len(rows))

from content_briefing import compute_briefing
n = 0
for sig in rows:
    res = compute_briefing(dict(sig))
    conn.execute("""UPDATE signals SET
      briefing_winkel=?, briefing_nutzen=?, briefing_zielgruppe=?,
      briefing_post_typ=?, briefing_fb_fit=?, briefing_fb_reason=?,
      briefing_li_fit=?, briefing_li_reason=?, briefing_material=?,
      briefing_risiko=?, briefing_freigabe=?
      WHERE signal_id=?""", (
      res["briefing_winkel"], res["briefing_nutzen"], res["briefing_zielgruppe"],
      res["briefing_post_typ"], res["briefing_fb_fit"], res["briefing_fb_reason"],
      res["briefing_li_fit"], res["briefing_li_reason"], res["briefing_material"],
      res["briefing_risiko"], res["briefing_freigabe"], sig["signal_id"]))
    n += 1
conn.commit()
print("Briefings nachgetragen:", n)

r = dict(conn.execute(
    "SELECT briefing_winkel, briefing_nutzen, briefing_freigabe FROM signals WHERE signal_id LIKE '9b0a4244%'"
).fetchone())
print("9b0a4244:", r)