From b0c792d706efae235566e48eb3d5eee4b3a658da Mon Sep 17 00:00:00 2001 From: Floke Date: Wed, 16 Apr 2025 16:08:49 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 07882f41..0f84e3c3 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -2541,26 +2541,17 @@ def run_dispatcher(mode, sheet_handler, row_limit=None): """ Wählt den passenden Batch-Prozess basierend auf dem Modus. Ermittelt die Startzeile dynamisch basierend auf dem Timestamp in der relevanten Spalte. - Die aufgerufenen Prozessfunktionen laden ihre Daten selbst. """ debug_print(f"Starte Dispatcher im Modus '{mode}' mit row_limit={row_limit}.") header_rows = 5 # --- Startzeilen-Ermittlung basierend auf Modus --- - # Definiere, welche Spalte für welchen Modus den Startpunkt bestimmt start_col_key = "Timestamp letzte Prüfung" # Standard (Spalte AO) min_start_row = 7 - - # --- KORRIGIERT: Korrekte Schlüsselzuweisung für jeden Modus --- - if mode == "website": - start_col_key = "Website Scrape Timestamp" # Spalte AT - elif mode == "wiki": - start_col_key = "Wikipedia Timestamp" # Spalte AN - elif mode == "branch": - start_col_key = "Timestamp letzte Prüfung" # Spalte AO - elif mode == "combined": - start_col_key = "Timestamp letzte Prüfung" # Spalte AO (Combined startet, wo der letzte Schritt fehlt) - # --- Ende Korrektur --- + if mode == "website": start_col_key = "Website Scrape Timestamp" # AT + elif mode == "wiki": start_col_key = "Wikipedia Timestamp" # AN # Korrigiert: Wiki-Modus sollte AN prüfen für Start + elif mode == "branch": start_col_key = "Timestamp letzte Prüfung" # AO + elif mode == "combined": start_col_key = "Timestamp letzte Prüfung" # AO (Combined startet, wo der letzte Schritt fehlt) debug_print(f"Dispatcher: Ermittle Startzeile basierend auf Spalte '{start_col_key}'...") start_data_index = sheet_handler.get_start_row_index(check_column_key=start_col_key, min_sheet_row=min_start_row) @@ -2570,10 +2561,9 @@ def run_dispatcher(mode, sheet_handler, row_limit=None): return start_row_index_in_sheet = start_data_index + header_rows + 1 - - # Hole Gesamtzahl der Zeilen (wird im Handler aktualisiert) total_sheet_rows = len(sheet_handler.sheet_values) + # Prüfungen für Start- und Endzeile (wie gehabt) if start_data_index >= len(sheet_handler.get_data()): debug_print(f"Ermittelter Start-Daten-Index ({start_data_index}) liegt nach der letzten Datenzeile. Keine neuen Zeilen zu verarbeiten. Dispatcher beendet.") return @@ -2581,7 +2571,6 @@ def run_dispatcher(mode, sheet_handler, row_limit=None): debug_print(f"Sheet hat keine Datenzeilen oder Startzeile ({start_row_index_in_sheet}) ist ungültig. Dispatcher beendet.") return - # --- Endzeilen-Ermittlung --- if row_limit is not None and row_limit > 0: end_row_index_in_sheet = min(start_row_index_in_sheet + row_limit - 1, total_sheet_rows) elif row_limit == 0: @@ -2606,14 +2595,18 @@ def run_dispatcher(mode, sheet_handler, row_limit=None): process_branch_batch(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet) elif mode == "combined": debug_print("--- Start Combined Mode: Wiki ---") - process_verification_only(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet) # Lädt Daten, prüft AN, setzt AN - # Kurze Pause einfügen, um Google Sheets Zeit für die Aktualisierung zu geben (optional aber sicherer) - time.sleep(3) - debug_print("--- Start Combined Mode: Website ---") - process_website_batch(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet) # Lädt Daten, prüft AT, setzt AT+AP - time.sleep(3) # Kurze Pause + process_verification_only(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet) # Prüft AX, Setzt AX + + # --- WEBSITE-TEIL HIER ENTFERNT --- + # debug_print("--- Start Combined Mode: Website ---") + # process_website_batch(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet) # Würde AT prüfen/setzen + debug_print("--- Combined Mode: Website-Scraping wird übersprungen ---") # Explizite Meldung + + # Optional: Kurze Pause trotzdem beibehalten? Eher nicht nötig. + # time.sleep(1) + debug_print("--- Start Combined Mode: Branch ---") - process_branch_batch(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet) # Lädt Daten, prüft AO, setzt AO+AP + process_branch_batch(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet) # Prüft AO, Setzt AO+AP debug_print("--- Combined Mode abgeschlossen ---") else: debug_print(f"Ungültiger Modus '{mode}' wurde im Dispatcher übergeben.")