diff --git a/data_processor.py b/data_processor.py index 6651e52e..e8b02e0d 100644 --- a/data_processor.py +++ b/data_processor.py @@ -954,9 +954,11 @@ class DataProcessor: if not all_data or len(all_data) <= header_rows: self.logger.warning("Keine Datenzeilen fuer Re-Evaluation gefunden.") return - - reeval_col_idx = COLUMN_MAP.get("ReEval Flag") - if reeval_col_idx is None: + + column_names = list(COLUMN_MAP.keys()) + try: + reeval_col_idx = column_names.index("ReEval Flag") + except ValueError: self.logger.critical("FEHLER: 'ReEval Flag' nicht in COLUMN_MAP. Breche ab.") return @@ -970,14 +972,12 @@ class DataProcessor: self.logger.info(f"{found_count} Zeilen mit ReEval-Flag 'x' gefunden.") if found_count == 0: return - # --- AB HIER BEGINNT DER FEHLENDE TEIL --- - # Spalten definieren, die vor der Neubewertung geleert werden sollen cols_to_clear_keys = [ - "Wiki Sitz Stadt", "Wiki Sitz Land", "Wiki Absatz", "Wiki Branche", + "Wiki URL", "Wiki Sitz Stadt", "Wiki Sitz Land", "Wiki Absatz", "Wiki Branche", "Wiki Umsatz", "Wiki Mitarbeiter", "Wiki Kategorien", "Wikipedia Timestamp", "Wiki Verif. Timestamp", "SerpAPI Wiki Search Timestamp", "Chat Wiki Konsistenzpruefung", - "Chat Begründung Wiki Inkonsistenz", "Chat Vorschlag Wiki Artikel", "Begründung bei Abweichung", + "Chat Begruendung Wiki Inkonsistenz", "Chat Vorschlag Wiki Artikel", "Begründung bei Abweichung", "Website Rohtext", "Website Zusammenfassung", "Website Meta-Details", "Website Scrape Timestamp", "URL Prüfstatus", "Chat Vorschlag Branche", "Chat Branche Konfidenz", "Chat Konsistenz Branche", "Chat Begruendung Abweichung Branche", "Finaler Umsatz (Wiki>CRM)", "Finaler Mitarbeiter (Wiki>CRM)", @@ -991,10 +991,12 @@ class DataProcessor: for task in rows_to_process: row_num = task['row_num'] for key in cols_to_clear_keys: - col_idx = COLUMN_MAP.get(key) - if col_idx is not None: + try: + col_idx = column_names.index(key) col_letter = self.sheet_handler._get_col_letter(col_idx + 1) clear_updates.append({'range': f'{col_letter}{row_num}', 'values': [['']]}) + except ValueError: + self.logger.warning(f"Spalte '{key}' zum Leeren im Re-Eval-Modus nicht in COLUMN_MAP gefunden. Überspringe.") if clear_updates: self.logger.info(f"Leere {len(clear_updates)} Zellen für {found_count} Re-Eval-Zeilen zur Vorbereitung...") @@ -1003,7 +1005,6 @@ class DataProcessor: time.sleep(2) self.sheet_handler.load_data() - # Verarbeitung der Zeilen nach dem Leeren processed_count_actual = 0 steps_to_run_set = set(key for key, value in {'wiki': process_wiki_steps, 'chat': process_chatgpt_steps, 'web': process_website_steps, 'ml_predict': process_ml_steps}.items() if value)