From ba00d81ae541fb48377de8f48e367c31b4c0e11a Mon Sep 17 00:00:00 2001 From: Floke Date: Wed, 16 Apr 2025 15:38:57 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 8836e2c2..07882f41 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -2207,8 +2207,6 @@ def _process_batch(sheet, batches, row_numbers): # time.sleep(Config.RETRY_DELAY) # Entfernt # Komplette Funktion process_website_batch (prüft jetzt Timestamp AT mit erzwungenem Debugging) -# Komplette Funktion process_website_batch (mit Vereinfachung und explizitem Skip-Log) -# Komplette Funktion process_website_batch (MIT Korrektur und Prüfung auf AT) def process_website_batch(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet): """ Batch-Prozess für Website-Scraping. Lädt Daten neu, prüft für jede Zeile @@ -2248,7 +2246,10 @@ def process_website_batch(sheet_handler, start_row_index_in_sheet, end_row_index for i in range(start_row_index_in_sheet, end_row_index_in_sheet + 1): row_index_in_list = i - 1 - if row_index_in_list >= len(all_data): continue + if row_index_in_list >= len(all_data): + debug_print(f"Warnung (Website): Zeilenindex {row_index_in_list} außerhalb des Datenbereichs ({len(all_data)} Zeilen).") + continue + row = all_data[row_index_in_list] # --- Timestamp-Prüfung für jede Zeile (AT) --- @@ -2259,23 +2260,27 @@ def process_website_batch(sheet_handler, start_row_index_in_sheet, end_row_index if str(ts_value_at).strip(): should_skip = True + # Debug Log log_debug = (i < start_row_index_in_sheet + 5 or i > end_row_index_in_sheet - 5 or i % 500 == 0 or i in range(2122, 2132)) if log_debug: debug_print(f"Zeile {i} (Website Check): Prüfe Timestamp {ts_col_letter}. Rohwert='{ts_value_at}'. Überspringen? -> {should_skip}") - # --- KORRIGIERTE if/else Struktur --- + # --- ABSOLUT KRITISCH: Korrekte IF/ELSE Struktur --- if should_skip: - # debug_print(f"Zeile {i}: *** WIRD ÜBERSPRUNGEN (Timestamp AT vorhanden) ***") # Weniger Lärm + # Wenn should_skip True ist, wird NUR das hier ausgeführt + # debug_print(f"Zeile {i}: *** WIRD ÜBERSPRUNGEN (Timestamp AT vorhanden) ***") # Jetzt wirklich übersprungen skipped_count += 1 - continue # Gehe zur nächsten Zeile in der for-Schleife + continue # Springt DIREKT zur nächsten Iteration der for-Schleife + else: - # Verarbeitung nur, wenn NICHT übersprungen wird + # --- Verarbeitung NUR, wenn should_skip False war --- debug_print(f"Zeile {i}: Timestamp AT nicht vorhanden oder leer. Verarbeitung wird gestartet.") website_url = row[website_col_idx] if len(row) > website_col_idx else "" if not website_url or website_url.strip().lower() == "k.a.": skipped_url_count += 1 - continue # Gehe zur nächsten Zeile + # Wichtig: Auch hier continue, um leere Updates zu vermeiden + continue debug_print(f"Zeile {i}: Verarbeite Website {website_url}...") raw_text = get_website_raw(website_url) @@ -2299,7 +2304,7 @@ def process_website_batch(sheet_handler, start_row_index_in_sheet, end_row_index debug_print(f"FEHLER beim Schreiben der Website-Updates für Zeile {i}.") time.sleep(Config.RETRY_DELAY) - # --- Ende der if/else Struktur --- + # --- Ende des ELSE-Blocks --- debug_print(f"Website-Scraping (Batch) abgeschlossen. {processed_count} Websites gescraped, {skipped_count} Zeilen wg. Timestamp übersprungen, {skipped_url_count} Zeilen ohne URL übersprungen.")