From 645d395cbb6327abd5997fc7b86d7d94c21a5b1b Mon Sep 17 00:00:00 2001 From: Floke Date: Mon, 30 Jun 2025 13:45:55 +0000 Subject: [PATCH] bugfix --- wikipedia_scraper.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/wikipedia_scraper.py b/wikipedia_scraper.py index 5b4460f4..c6adeca4 100644 --- a/wikipedia_scraper.py +++ b/wikipedia_scraper.py @@ -152,19 +152,28 @@ class WikipediaScraper: self.logger.error(f"Allgemeiner Fehler waehrend der Domain-Link-Pruefung fuer '{page.title[:100]}...': {e_link_check}") is_valid = False - reason = "Keine Validierungsregel traf zu" + reason = "" + # NEU: Detaillierte Debug-Ausgaben für jeden Schritt + self.logger.debug(f" Validierungs-Check für '{page.title[:50]}...':") + self.logger.debug(f" - Aehnlichkeit: {similarity:.2f} (Schwelle: {standard_threshold:.2f})") + self.logger.debug(f" - Domain '{full_domain}' im Artikel gefunden: {domain_found}") + self.logger.debug(f" - Erstes Wort identisch: {first_word_match}") + self.logger.debug(f" - Erste 2 Worte identisch: {first_two_words_match}") + if similarity >= standard_threshold: - is_valid = True; reason = f"Gesamt-Aehnlichkeit ({similarity:.2f}) >= Schwelle ({standard_threshold:.2f})" + is_valid, reason = True, f"Gesamt-Aehnlichkeit ({similarity:.2f}) >= Schwelle ({standard_threshold:.2f})" elif domain_found and first_two_words_match: - is_valid = True; reason = f"Domain gefunden UND erste 2 Worte stimmen ueberein" + is_valid, reason = True, f"Domain gefunden UND erste 2 Worte stimmen ueberein" elif domain_found and first_word_match and similarity >= 0.40: - is_valid = True; reason = f"Domain gefunden UND erstes Wort stimmt ueberein UND Aehnlichkeit >= 0.40" + is_valid, reason = True, f"Domain gefunden UND erstes Wort stimmt ueberein UND Aehnlichkeit >= 0.40" elif first_two_words_match and similarity >= 0.45: - is_valid = True; reason = f"Erste zwei Worte stimmen ueberein UND Aehnlichkeit >= 0.45" + is_valid, reason = True, f"Erste zwei Worte stimmen ueberein UND Aehnlichkeit >= 0.45" elif domain_found and similarity >= 0.50: - is_valid = True; reason = f"Domain gefunden UND Aehnlichkeit >= 0.50" + is_valid, reason = True, f"Domain gefunden UND Aehnlichkeit >= 0.50" elif first_word_match and similarity >= 0.55: - is_valid = True; reason = f"Erstes Wort stimmt ueberein UND Aehnlichkeit >= 0.55" + is_valid, reason = True, f"Erstes Wort stimmt ueberein UND Aehnlichkeit >= 0.55" + else: + reason = "Keine Validierungsregel traf zu" log_level = logging.INFO if is_valid else logging.DEBUG self.logger.log(log_level, f" => Artikel '{page.title[:100]}...' {'VALIDIERT' if is_valid else 'NICHT validiert'} (Grund: {reason})")