diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 8a5c934e..ada64e76 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -5234,37 +5234,32 @@ class DataProcessor: # Sammeln Sie die Zeilen, die in Spalte A mit 'x' markiert sind. - rows_to_process = [] # Liste von Dictionaries {'row_num': ..., 'data': ...} - # Iteriere ueber die Datenzeilen (ab der ersten Datenzeile) + # Sammeln Sie die Zeilen, die in Spalte A mit 'x' markiert sind. + rows_to_process = [] for idx_in_list in range(header_rows, len(all_data)): - row_data = all_data[idx_in_list] # Die Rohdaten fuer diese Zeile (0-basierter Index in all_data) - row_num_in_sheet = idx_in_list + 1 # 1-basierte Zeilennummer im Sheet - - # Pruefen Sie sicher auf den Wert 'x' in Spalte A (nutzt interne Helfer) + row_data = all_data[idx_in_list] + row_num_in_sheet = idx_in_list + 1 cell_a_value = self._get_cell_value_safe(row_data, "ReEval Flag").strip().lower() - - # Wenn die Zelle in Spalte A "x" ist if cell_a_value == "x": - # Fuegen Sie die Zeilendaten zur Liste der zu verarbeitenden Zeilen hinzu rows_to_process.append({'row_num': row_num_in_sheet, 'data': row_data}) - - found_count = len(rows_to_process) # Anzahl der gefundenen markierten Zeilen - self.logger.info(f"{found_count} Zeilen mit ReEval-Flag 'x' gefunden.") # <<< GEÄNDERT - # Wenn keine Zeilen zum Verarbeiten markiert sind + found_count = len(rows_to_process) + self.logger.info(f"{found_count} Zeilen mit ReEval-Flag 'x' gefunden.") if found_count == 0: - self.logger.info("Keine Zeilen zur Re-Evaluation markiert.") # <<< GEÄNDERT - return # Beende die Methode + self.logger.info("Keine Zeilen zur Re-Evaluation markiert.") + return - - processed_count_actual = 0 # Neuer Zähler für tatsächlich verarbeitete Zeilen + # ----- KORREKTUR DER EINRÜCKUNG HIER ----- + processed_count_actual = 0 # Neuer Zähler für tatsächlich verarbeitete Zeilen + # ----- ENDE KORREKTUR ----- for task in rows_to_process: row_num = task['row_num'] row_data = task['data'] - if limit is not None and isinstance(limit, int) and limit > 0 and processed_count_actual >= limit: - self.logger.info(f"Zeilenlimit ({limit}) fuer Re-Evaluation erreicht. Breche weitere Verarbeitung ab. Bereits verarbeitet: {processed_count_actual}") + # Limit-Prüfung direkt hier, bevor eine Zeile bearbeitet wird + if row_limit is not None and isinstance(row_limit, int) and row_limit > 0 and processed_count_actual >= row_limit: + self.logger.info(f"Zeilenlimit ({row_limit}) fuer Re-Evaluation erreicht. Breche weitere Verarbeitung ab. Bereits verarbeitet: {processed_count_actual}") break self.logger.info(f"Bearbeite Re-Eval Zeile {row_num}...") @@ -5277,11 +5272,10 @@ class DataProcessor: force_reeval = True, clear_x_flag = clear_flag ) - # Zähle processed_count hier nicht mehr, da es oben passiert except Exception as e_proc_reval_main: 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_actual} Zeilen verarbeitet (Gefunden mit 'x': {found_count}, CLI-Limit war: {limit}).") + self.logger.info(f"Re-Evaluierung abgeschlossen. {processed_count_actual} Zeilen verarbeitet (Gefunden mit 'x': {found_count}, CLI-Limit war: {row_limit}).") # ==============================================================================