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)
