Explorer
/proc/106/root/tmp/patch_aa022corr02_fb_logic.py
← Zurück ↓ Download
from pathlib import Path
p=Path('/opt/struktur/social-media-radar/mas_relevance.py')
s=p.read_text()
needle='''def assess_linkedin_fit(text: str, *, mas_relevant: bool = True) -> tuple[int, str]:
'''
fn='''def assess_facebook_fit(text: str, *, mas_relevant: bool = True) -> tuple[int, str]:
    """Bewertet verständlichen praktischen Facebook-Nutzen für MAS.

    Die Quelle ist absichtlich kein Eingabeparameter: Facebook ist Zielplattform,
    nicht Quellplattform. 1=ungeeignet, 2=prüfenswert, 3=klar geeignet.
    """
    if not mas_relevant:
        return 1, "Kein fachlicher MAS-Anker"
    folded = _fold(text)
    practical = (
        "feucht", "humed", "moisture", "schimmel", "moho", "mold", "mould",
        "kondens", "condens", "muff", "geruch", "olor", "fenster", "ventil",
        "lueft", "luftwechsel", "aire", "co2", "sensor", "mess", "medir",
        "diagnos", "ursache", "causa", "raumluft", "air quality", "vivienda",
        "wohnung", "wohnraum", "haus", "home", "wand", "pared", "mauer",
        "schlafzimmer", "dormitorio", "bedroom", "möbel", "mueble", "konzept",
        "konzept", "hausdaten", "raumdaten", "luftqualität",
    )
    situation = (
        "muff", "geruch", "olor", "fenster", "schlafzimmer", "dormitorio", "bedroom",
        "wand", "pared", "wohnung", "vivienda", "haus", "home", "möbel", "mueble",
        "klebrig", "pegaj", "feucht", "humed",
    )
    orientation = (
        "ursache", "causa", "warum", "por que", "statt", "antes", "prüf", "prueb",
        "mess", "medir", "sensor", "co2", "luftwechsel", "ventil", "lueft",
        "kondens", "condens", "konzept", "hausdaten", "raumdaten", "entscheidung",
    )
    generic = ("urlaub", "tourismus", "tourist", "promi", "sport", "fussball", "fußball", "konsulat", "polizei")
    practical_hits = sum(1 for term in practical if term in folded)
    situation_hits = sum(1 for term in situation if term in folded)
    orientation_hits = sum(1 for term in orientation if term in folded)
    if any(term in folded for term in generic) and practical_hits < 2:
        return 1, "Fachfremdes oder allgemeines Thema ohne belastbaren Praxisnutzen"
    if practical_hits >= 3 or (practical_hits >= 2 and orientation_hits >= 1 and situation_hits >= 1):
        return 3, "Verständliches Feuchte-/Lüftungsproblem mit konkretem Nutzen für Eigentümer und Bewohner"
    if practical_hits >= 1:
        return 2, "Praktischer MAS-Fachinhalt für Eigentümer/Bewohner; verständliche Aufbereitung und Handlungsorientierung prüfen"
    return 1, "MAS-Anker vorhanden, aber kein ausreichender praktischer Facebook-Nutzen"


'''
assert needle in s
p.write_text(s.replace(needle,fn+needle,1))