Explorer
/proc/111/root/tmp/aa050_patch2.py
← Zurück ↓ Download
from pathlib import Path
p=Path('/opt/struktur/social-media-agent/app.py'); s=p.read_text()
old='''        rows = conn.execute(
            "SELECT * FROM content_drafts WHERE status=? "
            "ORDER BY radar_score DESC, created_at DESC LIMIT ?",
            (status, limit)
        ).fetchall()
'''
new='''        rows = conn.execute(
            "SELECT d.* FROM content_drafts d JOIN signals s ON s.signal_id=d.signal_id "
            "WHERE d.status=? AND s.mas_relevant=1 AND COALESCE(s.content_blocked,0)=0 "
            "ORDER BY d.radar_score DESC, d.created_at DESC LIMIT ?",
            (status, limit)
        ).fetchall()
'''
assert old in s; s=s.replace(old,new)
old='''            "SELECT * FROM content_drafts "
            "ORDER BY radar_score DESC, created_at DESC LIMIT ?",
            (limit,)
'''
new='''            "SELECT d.* FROM content_drafts d JOIN signals s ON s.signal_id=d.signal_id "
            "WHERE s.mas_relevant=1 AND COALESCE(s.content_blocked,0)=0 "
            "ORDER BY d.radar_score DESC, d.created_at DESC LIMIT ?",
            (limit,),
'''
assert old in s; s=s.replace(old,new)
old='''            " FROM signals WHERE publish_status='bereit_zum_posten'"
'''
new='''            " FROM signals WHERE publish_status='bereit_zum_posten'"
            " AND mas_relevant=1 AND COALESCE(content_blocked,0)=0"
'''
assert old in s; s=s.replace(old,new)
old='''        sig = conn.execute(
            "SELECT topic, topic_de FROM signals WHERE signal_id=?", (signal_id,)
        ).fetchone()
'''
new='''        sig = conn.execute(
            "SELECT * FROM signals WHERE signal_id=? AND mas_relevant=1 AND COALESCE(content_blocked,0)=0", (signal_id,)
        ).fetchone()
        if not sig:
            conn.close()
            return jsonify({"error": "Signal ist nicht für MAS-Content zugelassen"}), 403
'''
# replace only first occurrence in mark-posted; there are multiple exact occurrences; use position after def
pos=s.index('def api_mark_posted'); tail=s[pos:]; assert old in tail; tail=tail.replace(old,new,1); s=s[:pos]+tail
p.write_text(s)