This commit is contained in:
2025-04-23 12:47:54 +00:00
parent 0c799ded26
commit d190188d04

View File

@@ -4010,34 +4010,38 @@ class DataProcessor:
und erzwungener Neuverarbeitung im Re-Eval-Modus. und erzwungener Neuverarbeitung im Re-Eval-Modus.
Enthält auch die Datenvorbereitung für das ML-Modell. Enthält auch die Datenvorbereitung für das ML-Modell.
""" """
def __init__(self, sheet_handler): def __init__(self, sheet_handler, wiki_scraper): # <<< KORRIGIERTE SIGNATUR! Akzeptiert sheet_handler UND wiki_scraper
""" """
Initialisiert den DataProcessor. Initialisiert den DataProcessor mit Handlern.
Args: Args:
sheet_handler (GoogleSheetHandler): Eine initialisierte Instanz des GoogleSheetHandlers. sheet_handler (GoogleSheetHandler): Eine initialisierte Instanz.
wiki_scraper (WikipediaScraper): Eine initialisierte Instanz.
# Fügen Sie hier weitere Handler/Scraper hinzu, falls nötig (z.B. WebsiteScraper falls separat)
""" """
# WICHTIG: Stelle sicher, dass sheet_handler übergeben wird und nicht None ist
if sheet_handler is None: if sheet_handler is None:
# Kritischer Fehler, da der Handler benötigt wird
logging.critical("DataProcessor Init FEHLER: Kein gültiger sheet_handler übergeben!") logging.critical("DataProcessor Init FEHLER: Kein gültiger sheet_handler übergeben!")
# Hier ist es sinnvoll, einen Fehler zu werfen, um das Problem sofort sichtbar zu machen
raise ValueError("DataProcessor benötigt einen gültigen GoogleSheetHandler.") raise ValueError("DataProcessor benötigt einen gültigen GoogleSheetHandler.")
# NEUE PRÜFUNG für wiki_scraper
if wiki_scraper is None:
logging.critical("DataProcessor Init FEHLER: Kein gültiger wiki_scraper übergeben!")
raise ValueError("DataProcessor benötigt einen gültigen WikipediaScraper.")
self.sheet_handler = sheet_handler self.sheet_handler = sheet_handler
# Erstelle eine Instanz des Scrapers für diesen Prozessor self.wiki_scraper = wiki_scraper # <<< Speichert den übergebenen wiki_scraper
# Annahme: WikipediaScraper ist importiert und korrekt
try: # ENTFERNEN SIE den try/except Block, der versucht, WikipediaScraper() HIER ZU INITIALISIEREN!
# Annahme: WikipediaScraper benötigt keinen Parameter mehr, # try:
# oder kann mit einem Default initialisiert werden, # # Erstelle eine Instanz des Scrapers für diesen Prozessor
# und Config.USER_AGENT existiert # # Annahme: WikipediaScraper ist importiert und korrekt
self.wiki_scraper = WikipediaScraper() # Geht davon aus, dass Config etc. verfügbar ist # self.wiki_scraper = WikipediaScraper() # <<< DIESER BLOCK MUSS WEG
except NameError: # except NameError:
logging.critical("DataProcessor Init FEHLER: WikipediaScraper Klasse nicht gefunden/importiert!") # logging.critical("DataProcessor Init FEHLER: WikipediaScraper Klasse nicht gefunden/importiert!")
raise # raise
except Exception as e: # except Exception as e:
logging.critical(f"DataProcessor Init FEHLER beim Initialisieren von WikipediaScraper: {e}") # logging.critical(f"DataProcessor Init FEHLER beim Initialisieren von WikipediaScraper: {e}")
raise # raise
logging.info("DataProcessor initialisiert.") logging.info("DataProcessor initialisiert.")