diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 809e2717..addc1647 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -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.")