This commit is contained in:
2025-04-23 12:47:54 +00:00
parent 552fb3e372
commit aadebd162e

View File

@@ -4010,34 +4010,38 @@ class DataProcessor:
und erzwungener Neuverarbeitung im Re-Eval-Modus.
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:
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:
# Kritischer Fehler, da der Handler benötigt wird
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.")
# 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
# Erstelle eine Instanz des Scrapers für diesen Prozessor
# Annahme: WikipediaScraper ist importiert und korrekt
try:
# Annahme: WikipediaScraper benötigt keinen Parameter mehr,
# oder kann mit einem Default initialisiert werden,
# und Config.USER_AGENT existiert
self.wiki_scraper = WikipediaScraper() # Geht davon aus, dass Config etc. verfügbar ist
except NameError:
logging.critical("DataProcessor Init FEHLER: WikipediaScraper Klasse nicht gefunden/importiert!")
raise
except Exception as e:
logging.critical(f"DataProcessor Init FEHLER beim Initialisieren von WikipediaScraper: {e}")
raise
self.wiki_scraper = wiki_scraper # <<< Speichert den übergebenen wiki_scraper
# ENTFERNEN SIE den try/except Block, der versucht, WikipediaScraper() HIER ZU INITIALISIEREN!
# try:
# # Erstelle eine Instanz des Scrapers für diesen Prozessor
# # Annahme: WikipediaScraper ist importiert und korrekt
# self.wiki_scraper = WikipediaScraper() # <<< DIESER BLOCK MUSS WEG
# except NameError:
# logging.critical("DataProcessor Init FEHLER: WikipediaScraper Klasse nicht gefunden/importiert!")
# raise
# except Exception as e:
# logging.critical(f"DataProcessor Init FEHLER beim Initialisieren von WikipediaScraper: {e}")
# raise
logging.info("DataProcessor initialisiert.")