data_processor.py aktualisiert

This commit is contained in:
2025-07-18 13:59:34 +00:00
parent 09bfa1ae81
commit 4f1bc3fb84

View File

@@ -2308,47 +2308,47 @@ class DataProcessor:
# Sammle Sheet Updates (AR, AT, AP) fuer diesen Batch.
# Dies geschieht jetzt nach der parallelen Verarbeitung.
if scraping_results:
current_timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
current_version = getattr(Config, 'VERSION', 'unknown')
batch_sheet_updates = []
# Iteriere über die Ergebnisse des finalen Batches
for row_num, result_dict in scraping_results.items():
# Füge Updates für Rohtext, Meta-Details, Timestamp und Version hinzu
# Wir verwenden hier die zuvor ermittelten col_indices
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Rohtext"] + 1)}{row_num}', 'values': [[result_dict.get('raw_text', 'k.A.')]]})
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Meta-Details"] + 1)}{row_num}', 'values': [[result_dict.get('meta_details', 'k.A.')]]})
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Scrape Timestamp"] + 1)}{row_num}', 'values': [[current_timestamp]]})
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Version"] + 1)}{row_num}', 'values': [[current_version]]})
all_sheet_updates.extend(batch_sheet_updates)
if scraping_results:
current_timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
current_version = getattr(Config, 'VERSION', 'unknown')
batch_sheet_updates = []
# Iteriere über die Ergebnisse des finalen Batches
for row_num, result_dict in scraping_results.items():
# Füge Updates für Rohtext, Meta-Details, Timestamp und Version hinzu
# Wir verwenden hier die zuvor ermittelten col_indices
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Rohtext"] + 1)}{row_num}', 'values': [[result_dict.get('raw_text', 'k.A.')]]})
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Meta-Details"] + 1)}{row_num}', 'values': [[result_dict.get('meta_details', 'k.A.')]]})
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Website Scrape Timestamp"] + 1)}{row_num}', 'values': [[current_timestamp]]})
batch_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(col_indices["Version"] + 1)}{row_num}', 'values': [[current_version]]})
all_sheet_updates.extend(batch_sheet_updates)
# Leere den Scraping-Batch fuer die naechste Iteration
tasks_for_processing_batch = []
rows_in_current_scraping_batch = []
# Leere den Scraping-Batch fuer die naechste Iteration
tasks_for_processing_batch = []
rows_in_current_scraping_batch = []
# Sende gesammelte Sheet Updates, wenn das Update-Batch-Limit erreicht ist.
# Updates pro Zeile sind 3 (AR, AT, AP). Anzahl der Zeilen =
# len(all_sheet_updates) / 3.
rows_in_update_batch = len(
all_sheet_updates) // 3 # Ganzzahl-Division
# Sende gesammelte Sheet Updates, wenn das Update-Batch-Limit erreicht ist.
# Updates pro Zeile sind 3 (AR, AT, AP). Anzahl der Zeilen =
# len(all_sheet_updates) / 3.
rows_in_update_batch = len(
all_sheet_updates) // 3 # Ganzzahl-Division
if rows_in_update_batch >= update_batch_row_limit:
self.logger.debug(
f" Sende gesammelte Sheet-Updates ({rows_in_update_batch} Zeilen, {len(all_sheet_updates)} Zellen)...") # <<< GEÄNDERT
# Nutzt die batch_update_cells Methode des Sheet Handlers (Block 14) mit Retry.
# Wenn es fehlschlaegt, wird es intern geloggt.
success = self.sheet_handler.batch_update_cells(
all_sheet_updates)
if success:
self.logger.info(
f" Sheet-Update fuer {rows_in_update_batch} Zeilen erfolgreich.") # <<< GEÄNDERT
# Der Fehlerfall wird von batch_update_cells geloggt
if rows_in_update_batch >= update_batch_row_limit:
self.logger.debug(
f" Sende gesammelte Sheet-Updates ({rows_in_update_batch} Zeilen, {len(all_sheet_updates)} Zellen)...") # <<< GEÄNDERT
# Nutzt die batch_update_cells Methode des Sheet Handlers (Block 14) mit Retry.
# Wenn es fehlschlaegt, wird es intern geloggt.
success = self.sheet_handler.batch_update_cells(
all_sheet_updates)
if success:
self.logger.info(
f" Sheet-Update fuer {rows_in_update_batch} Zeilen erfolgreich.") # <<< GEÄNDERT
# Der Fehlerfall wird von batch_update_cells geloggt
# Leere die gesammelten Updates nach dem Senden.
all_sheet_updates = []
# rows_in_update_batch muss nicht explizit zurueckgesetzt
# werden, da es aus len(all_sheet_updates) berechnet wird.
# Leere die gesammelten Updates nach dem Senden.
all_sheet_updates = []
# rows_in_update_batch muss nicht explizit zurueckgesetzt
# werden, da es aus len(all_sheet_updates) berechnet wird.
# Keine Pause hier nach jedem kleinen Scraping-Batch, da wir auf batch_update warten.
# Die Pause kommt erst nach dem Batch-Update (oder am Ende des Modus).