diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 37b07746..84248ed0 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -3500,12 +3500,30 @@ class DataProcessor: # Sie sind auf der gleichen Ebene wie das if darüber (z.B. 8 Leerzeichen) all_data = self.sheet_handler.get_all_data_with_headers(); data_rows = all_data[header_rows:]; - required_keys = [ "Chat Wiki Konsistenzprüfung", "Chat Vorschlag Wiki Artikel", "Wiki URL", "Wikipedia Timestamp", "Wiki Verif. Timestamp", "Timestamp letzte Prüfung", "Version", "ReEval Flag", "Wiki Absatz", "Wiki Branche", "Wiki Umsatz", "Wiki Mitarbeiter", "Wiki Kategorien", "Begründung bei Abweichung" ] - col_indices = {} # Annahme: COLUMN_MAP ist global - all_keys_found = True; for key in required_keys: idx = COLUMN_MAP.get(key); col_indices[key] = idx; if idx is None: logging.critical(f"FEHLER: Schlüssel '{key}' fehlt! Modus abgebrochen."); all_keys_found = False - if not all_keys_found: return + required_keys = [ "Chat Wiki Konsistenzprüfung", "Chat Vorschlag Wiki Artikel", "Wiki URL", "Wikipedia Timestamp", "Wiki Verif. Timestamp", "Timestamp letzte Prüfung", "Version", "ReEval Flag", "Wiki Absatz", "Wiki Branche", "Wiki Umsatz", "Wiki Mitarbeiter", "Wiki Kategorien", "Begründung bei Abweichung" ]; + col_indices = {}; + + # KORRIGIERTE ZEILEN: Trenne Zuweisung und For-Schleife + all_keys_found = True # <- Zuweisung auf eigener Zeile (z.B. 8 Leerzeichen) + # Die For-Schleife beginnt auf der nächsten Zeile und ist eingerückt + for key in required_keys: # <- For-Schleife beginnt hier, eingerückt unter all_keys_found + # Die folgenden Zeilen gehören zum Körper der For-Schleife und sind weiter eingerückt + idx = COLUMN_MAP.get(key); + col_indices[key] = idx; + if idx is None: # <- If innerhalb der For-Schleife + # <- Code unter dem If, weiter eingerückt + logging.critical(f"FEHLER: Schlüssel '{key}' nicht in COLUMN_MAP gefunden! Modus abgebrochen."); + all_keys_found = False; # <- Zuweisung unter dem If + # Hier endet die For-Schleife. + + + # Diese Zeilen gehören zum normalen Fluss der Methode, nach dem if not all_keys_found Block + if not all_keys_found: + return; # Abbruch, wenn nicht alle Schlüssel gefunden + + # Diese Zeilen sind auf der gleichen Ebene wie das if darüber (z.B. 8 Leerzeichen) + all_sheet_updates = []; processed_rows_count = 0; updated_url_count = 0; cleared_suggestion_count = 0; - all_sheet_updates = []; processed_rows_count = 0; updated_url_count = 0; cleared_suggestion_count = 0 for idx, row in enumerate(data_rows): row_num_in_sheet = idx + header_rows + 1