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))