Explorer
/tmp/patch_director.py
← Zurück ↓ Download
from pathlib import Path
p=Path('/opt/struktur/social-media-radar/content_director.py'); s=p.read_text()
if 'from mas_relevance import assess_mas_relevance' not in s: s=s.replace('from sma_database import SIGNALS_DB_PATH\n','from sma_database import SIGNALS_DB_PATH\nfrom mas_relevance import assess_mas_relevance\n')
s=s.replace('''    signal_id = sig["signal_id"]
    category  = sig["signal_category"] or "allgemein"''','''    signal_id = sig["signal_id"]
    relevance = assess_mas_relevance(" ".join(str(sig.get(k) or "") for k in ("topic", "short_summary", "source_name")), fields=sig)
    if not relevance.relevant:
        return {"director_score": 0.0, "director_action": "ignorieren", "director_reason": relevance.reason or "Kein fachlicher MAS-Anker", "director_blocks": relevance.block_reason or "Nicht für MAS-Content geeignet", "director_dims": "MAS-Relevanz=0", "relevance_score": 0.0, "emotional_score_dir": 0.0, "urgency_score_dir": 0.0, "publishing_value": 0.0, "seasonal_factor": 1.0, "mas_relevant": 0, "mas_anchor": "", "mas_relevance_reason": relevance.reason, "content_blocked": int(relevance.content_blocked), "content_block_reason": relevance.block_reason}
    category  = sig["signal_category"] or "allgemein"''')
s=s.replace('''        "seasonal_factor":      seasonal_factor,
    }''','''        "seasonal_factor":      seasonal_factor,
        "mas_relevant":         1, "mas_anchor": ",".join(relevance.anchor_matches), "mas_relevance_reason": relevance.reason,
        "content_blocked":      0, "content_block_reason": "",
    }''')
s=s.replace('''        "seasonal_factor":     "REAL DEFAULT 1.0",
    }''','''        "seasonal_factor":     "REAL DEFAULT 1.0",
        "mas_relevant":        "INTEGER DEFAULT 0", "mas_anchor": "TEXT DEFAULT ''", "mas_relevance_reason": "TEXT DEFAULT ''", "content_blocked": "INTEGER DEFAULT 0", "content_block_reason": "TEXT DEFAULT ''",
    }''')
s=s.replace('''              seasonal_factor      = ?
            WHERE signal_id = ?''','''              seasonal_factor      = ?, mas_relevant = ?, mas_anchor = ?, mas_relevance_reason = ?, content_blocked = ?, content_block_reason = ?
            WHERE signal_id = ?''')
s=s.replace('''            result["seasonal_factor"],
            sig["signal_id"],''','''            result["seasonal_factor"], result.get("mas_relevant", 0), result.get("mas_anchor", ""), result.get("mas_relevance_reason", ""), result.get("content_blocked", 0), result.get("content_block_reason", ""),
            sig["signal_id"],''')
p.write_text(s); print('director patched')