This commit is contained in:
2025-04-17 13:03:25 +00:00
parent 1dd59f5abb
commit 0207fa0410

View File

@@ -2630,61 +2630,6 @@ def process_branch_batch(sheet_handler, start_row_index_in_sheet, end_row_index_
debug_print(f"Brancheneinschätzung (Parallel Batch) abgeschlossen. {total_processed_count} Zeilen verarbeitet (inkl. Fehler), {total_error_count} Fehler, {total_skipped_count} Zeilen wg. Timestamp übersprungen.")
def process_branch_batch(sheet_handler, start_row_index_in_sheet, end_row_index_in_sheet):
"""Batch-Prozess für Brancheneinschätzung."""
debug_print(f"Starte Brancheneinschätzung (Batch) für Zeilen {start_row_index_in_sheet} bis {end_row_index_in_sheet}...")
all_data = sheet_handler.get_all_data_with_headers()
sheet = sheet_handler.sheet
# Stelle sicher, dass das Branchenschema geladen ist
if not ALLOWED_TARGET_BRANCHES:
load_target_schema() # Versuch es zu laden
if not ALLOWED_TARGET_BRANCHES:
debug_print("FEHLER: Ziel-Branchenschema konnte nicht geladen werden. Breche Branch-Batch ab.")
return
for i in range(start_row_index_in_sheet, end_row_index_in_sheet + 1):
row_index_in_list = i - 1
row = all_data[row_index_in_list]
# TODO: Zeitstempelprüfung zum Überspringen?
# if len(row) > COLUMN_MAP["Timestamp letzte Prüfung"] and row[COLUMN_MAP["Timestamp letzte Prüfung"]].strip():
# debug_print(f"Zeile {i}: Überspringe Branchen-Einschätzung (Zeitstempel vorhanden).")
# continue
# Hole benötigte Daten aus der Zeile (verwende COLUMN_MAP)
crm_branche = row[COLUMN_MAP["CRM Branche"]] if len(row) > COLUMN_MAP["CRM Branche"] else ""
beschreibung = row[COLUMN_MAP["CRM Beschreibung"]] if len(row) > COLUMN_MAP["CRM Beschreibung"] else ""
wiki_branche = row[COLUMN_MAP["Wiki Branche"]] if len(row) > COLUMN_MAP["Wiki Branche"] else ""
wiki_kategorien = row[COLUMN_MAP["Wiki Kategorien"]] if len(row) > COLUMN_MAP["Wiki Kategorien"] else ""
# Nimm Website Zusammenfassung aus Spalte AS (Index 44)
website_summary = row[COLUMN_MAP["Website Zusammenfassung"]] if len(row) > COLUMN_MAP["Website Zusammenfassung"] else ""
debug_print(f"Zeile {i}: Starte Brancheneinschätzung...")
result = evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kategorien, website_summary)
updates = []
current_timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
current_version = Config.VERSION
updates.append({'range': f'W{i}', 'values': [[result.get("branch", "Fehler")]]}) # Spalte W
updates.append({'range': f'X{i}', 'values': [[result.get("consistency", "Fehler")]]}) # Spalte X
updates.append({'range': f'Y{i}', 'values': [[result.get("justification", "Fehler")]]}) # Spalte Y
updates.append({'range': f'AO{i}', 'values': [[current_timestamp]]}) # Spalte AO
updates.append({'range': f'AP{i}', 'values': [[current_version]]}) # Spalte AP
# Führe Batch-Update für diese eine Zeile durch
if updates:
sheet_handler.batch_update_cells(updates)
debug_print(f"Zeile {i}: Branch-Einschätzung aktualisiert: {result} | Zeitstempel: {current_timestamp}, Version: {current_version}")
# Pause zwischen den API-Aufrufen
time.sleep(Config.RETRY_DELAY)
debug_print("Brancheneinschätzung (Batch) abgeschlossen.")
# Annahmen:
# - Funktionen debug_print, process_verification_only, process_website_batch, process_branch_batch sind definiert.
# - sheet_handler ist eine initialisierte Instanz von GoogleSheetHandler (mit der korrekten get_start_row_index Methode).