from pathlib import Path
p=Path('/opt/struktur/social-media-radar/intake/watch_intake.py')
s=p.read_text()
s=s.replace('GNEWS_SKIP = re.compile(r"login|register|/facebook/?$")\n', 'GNEWS_SKIP = re.compile(r"login|register|/facebook/?$")\nWATCH_COUNTER = {"parsed": 0, "canonicalized": 0, "new": 0, "duplicate": 0, "rejected": 0}\n',1)
s=s.replace(''' skip_reason = _is_scheinsignal(title, url)
if skip_reason:
return None # kein Signal, kein Fehler (§29)
''',''' WATCH_COUNTER["parsed"] += 1
skip_reason = _is_scheinsignal(title, url)
if skip_reason:
WATCH_COUNTER["rejected"] += 1
return None # kein Signal, kein Fehler (§29)
''',1)
s=s.replace(''' if final_score < 31:
return None # Below threshold
''',''' if final_score < 31:
WATCH_COUNTER["rejected"] += 1
return None # Below threshold
''',1)
s=s.replace(''' if watch_entity_data:
signal.update(watch_entity_data)
return insert_signal(signal)
''',''' if watch_entity_data:
signal.update(watch_entity_data)
WATCH_COUNTER["canonicalized"] += 1
result = insert_signal(signal)
if result is None:
WATCH_COUNTER["duplicate"] += 1
else:
WATCH_COUNTER["new"] += 1
return result
''',1)
s=s.replace(''' try:
n_web = poll_website(e)
''',''' try:
WATCH_COUNTER.update({"parsed": 0, "canonicalized": 0, "new": 0, "duplicate": 0, "rejected": 0})
n_web = poll_website(e)
''',1)
s=s.replace(''' record_source_run(f"watch:{eid}", t0, 4, new, 0, 0, 0, None)
''',''' record_source_run(
f"watch:{eid}", t0, WATCH_COUNTER["parsed"], WATCH_COUNTER["new"],
WATCH_COUNTER["duplicate"], rejected=WATCH_COUNTER["rejected"],
items_parsed=WATCH_COUNTER["parsed"],
items_canonicalized=WATCH_COUNTER["canonicalized"],
error=None,
)
''',1)
p.write_text(s)