Explorer
/tmp/patch_aa022corr02_logic.py
← Zurück ↓ Download
from pathlib import Path
# classifier: central FB decision becomes the persisted platform score
p=Path('/opt/struktur/social-media-radar/classification/signal_classifier.py')
s=p.read_text()
s=s.replace('from mas_relevance import assess_mas_relevance, assess_linkedin_fit\n','from mas_relevance import assess_mas_relevance, assess_linkedin_fit, assess_facebook_fit\n',1)
s=s.replace('''    linkedin_score, linkedin_reason = assess_linkedin_fit(text, mas_relevant=mas_assessment.relevant)
    platform_linkedin = linkedin_score
''','''    linkedin_score, linkedin_reason = assess_linkedin_fit(text, mas_relevant=mas_assessment.relevant)
    platform_linkedin = linkedin_score
    facebook_score, facebook_reason = assess_facebook_fit(text, mas_relevant=mas_assessment.relevant)
    platform_facebook = facebook_score
''',1)
s=s.replace('''        "mas_relevance_reason": mas_assessment.reason,
''','''        "mas_relevance_reason": mas_assessment.reason,
        "facebook_fit_reason":  facebook_reason,
''',1)
p.write_text(s)
# briefing: same central decision, overriding legacy branch without changing FB semantics elsewhere
p=Path('/opt/struktur/social-media-radar/content_briefing.py')
s=p.read_text()
s=s.replace('from mas_relevance import assess_mas_relevance, assess_linkedin_fit\n','from mas_relevance import assess_mas_relevance, assess_linkedin_fit, assess_facebook_fit\n',1)
old='''    li_score, li_reason = assess_linkedin_fit(" ".join(str(sig.get(k) or "") for k in ("topic", "short_summary")), mas_relevant=True)
    li_fit = {1: "nein", 2: "pruefen", 3: "ja"}[li_score]
    li_reason = li_reason
'''
new='''    content_text = " ".join(str(sig.get(k) or "") for k in ("topic", "short_summary"))
    fb_score, fb_reason = assess_facebook_fit(content_text, mas_relevant=bool(sig.get("mas_relevant", True)))
    fb_fit = {1: "nein", 2: "pruefen", 3: "ja"}[fb_score]
    fb_reason = fb_reason
    li_score, li_reason = assess_linkedin_fit(content_text, mas_relevant=bool(sig.get("mas_relevant", True)))
    li_fit = {1: "nein", 2: "pruefen", 3: "ja"}[li_score]
    li_reason = li_reason
'''
assert old in s
s=s.replace(old,new,1)
p.write_text(s)