From 1b976e77f19327390854c7d8b9a802f8a40fe053 Mon Sep 17 00:00:00 2001 From: Floke Date: Fri, 30 May 2025 14:00:41 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index b97e630b..450cd86d 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -5405,39 +5405,33 @@ class DataProcessor: processed_count = 0 # Iteriere ueber die gefundenen markierten Zeilen + processed_count = 0 # Zähler für tatsächlich verarbeitete Zeilen (für das Limit) + # row_limit kommt als Parameter in die Funktion (z.B. args.limit) + for task in rows_to_process: - if self.limit_erreicht(processed_count, row_limit): # Eine Hilfsfunktion oder direkte Prüfung - self.logger.info(f"Zeilenlimit ({row_limit}) fuer Re-Evaluation erreicht. Breche weitere Verarbeitung ab.") + # --- KORREKTUR HIER: Direkte Limit-Prüfung --- + if row_limit is not None and isinstance(row_limit, int) and row_limit > 0 and processed_count >= row_limit: + self.logger.info(f"Zeilenlimit ({row_limit}) fuer Re-Evaluation erreicht. Breche weitere Verarbeitung ab. Bereits verarbeitet: {processed_count}") break + # --- ENDE KORREKTUR --- row_num = task['row_num'] row_data = task['data'] self.logger.info(f"Bearbeite Re-Eval Zeile {row_num}...") try: - self._process_single_row( # Hier werden die steps_to_run übergeben + self._process_single_row( row_num_in_sheet = row_num, row_data = row_data, - steps_to_run = steps_to_run_set, # Das Set der zu laufenden Schritte + steps_to_run = steps_to_run_set, # steps_to_run_set muss hier korrekt übergeben werden force_reeval = True, - clear_x_flag = clear_flag + clear_x_flag = clear_flag # clear_flag kommt als Parameter in die Funktion ) processed_count += 1 # Zähle nur, wenn _process_single_row ohne Exception durchlief - except Exception as e_proc_reval: - self.logger.exception(f"FEHLER bei Re-Evaluation von Zeile {row_num} in process_reevaluation_rows: {e_proc_reval}") - # Hier koennen Sie z.B. einen Fehlerindikator in eine spezielle Spalte im Sheet schreiben lassen. - # Dieses Update muesste dann separat oder im naechsten Lauf behandelt werden. - - # _process_single_row beinhaltet bereits eine kleine Pause am Ende. - # Hier ist keine zusaetzliche Pause noetig nach der Zeilenverarbeitung. - # Wenn _process_single_row eine Exception wirft, kann hier eine kurze Pause sinnvoll sein. - # time.sleep(0.1) # Optional: Kurze Pause bei Fehler nach Exception - - - # Der Codeblock zum Loeschen der gesammelten Updates (updates_clear_flag) am Ende wurde entfernt. - - # Logge den Abschluss des Re-Eval Modus - self.logger.info(f"Re-Evaluierung abgeschlossen. {processed_count} Zeilen verarbeitet (Gefunden: {found_count}, Limit: {row_limit}).") # <<< GEÄNDERT + except Exception as e_proc_reval_main: # Umbenannt, um Konflikt zu vermeiden + self.logger.exception(f"FEHLER bei Re-Evaluation von Zeile {row_num} in process_reevaluation_rows: {e_proc_reval_main}") + + self.logger.info(f"Re-Evaluierung abgeschlossen. {processed_count} Zeilen verarbeitet (Gefunden: {found_count}, CLI-Limit war: {row_limit}).") # ==============================================================================