data_processor.py aktualisiert

This commit is contained in:
2025-07-19 19:14:16 +00:00
parent bc761ed783
commit 2268306605

View File

@@ -447,17 +447,21 @@ class DataProcessor:
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Wiki Verif. Timestamp"] + 1)}{row_num_in_sheet}', 'values': [[now_timestamp]]})
# --- Finales Schreiben ins Sheet ---
if wiki_data_updated_in_this_run:
if wiki_data_was_extracted_or_updated:
key_mapping = {
'Wiki URL': 'url', 'Wiki Sitz Stadt': 'sitz_stadt', 'Wiki Sitz Land': 'sitz_land',
'Wiki Absatz': 'first_paragraph', 'Wiki Branche': 'branche', 'Wiki Umsatz': 'umsatz',
'Wiki Mitarbeiter': 'mitarbeiter', 'Wiki Kategorien': 'categories'
}
for sheet_col_name, data_key in key_mapping.items():
updates.append({
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP[sheet_col_name] + 1)}{row_num_in_sheet}',
'values': [[final_wiki_data.get(data_key, 'k.A.')]]
})
# KORRIGIERT: Nutze die globale Hilfsfunktion get_col_idx
col_idx = get_col_idx(sheet_col_name)
if col_idx is not None:
col_letter = self.sheet_handler._get_col_letter(col_idx + 1)
updates.append({
'range': f'{col_letter}{row_num_in_sheet}',
'values': [[final_wiki_data.get(data_key, 'k.A.')]]
})
updates.append({
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Wikipedia Timestamp"] + 1)}{row_num_in_sheet}',
@@ -506,27 +510,14 @@ class DataProcessor:
schema_data=self.schema_data
)
# Updates für die Sheet-Spalten vorbereiten
updates.append({
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Vorschlag Branche"] + 1)}{row_num_in_sheet}',
'values': [[branch_result.get("branch", "FEHLER BRANCH")]]
})
updates.append({
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Branche Konfidenz"] + 1)}{row_num_in_sheet}',
'values': [[branch_result.get("confidence", "N/A CONF")]]
})
updates.append({
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Konsistenz Branche"] + 1)}{row_num_in_sheet}',
'values': [[branch_result.get("consistency", "error CONS")]]
})
updates.append({
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Begruendung Abweichung Branche"] + 1)}{row_num_in_sheet}',
'values': [[branch_result.get("justification", "No JUST")]]
})
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Vorschlag Branche") + 1)}{row_num_in_sheet}', 'values': [[branch_result.get('branch', 'FEHLER')]]})
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Branche Konfidenz") + 1)}{row_num_in_sheet}', 'values': [[branch_result.get('confidence', 'N/A')]]})
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Konsistenz Branche") + 1)}{row_num_in_sheet}', 'values': [[branch_result.get('consistency', 'error')]]})
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Begruendung Abweichung Branche") + 1)}{row_num_in_sheet}', 'values': [[branch_result.get('justification', 'k.A.')]]})
except Exception as e_branch_eval:
self.logger.error(
f"FEHLER bei Branchen-Einstufung für Zeile {row_num_in_sheet}: {e_branch_eval}")
# Optional: Fehlerwerte in die Spalten schreiben
self.logger.error(f"FEHLER bei Branchen-Einstufung für Zeile {row_num_in_sheet}: {e_branch_eval}")
# Fehlerwerte in die Spalten schreiben
error_updates = [
{"key": "Chat Vorschlag Branche", "value": "FEHLER_CALL"},
{"key": "Chat Branche Konfidenz", "value": "N/A"},
@@ -534,10 +525,12 @@ class DataProcessor:
{"key": "Chat Begruendung Abweichung Branche", "value": str(e_branch_eval)[:100]}
]
for item in error_updates:
updates.append({
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP[item["key"]] + 1)}{row_num_in_sheet}',
'values': [[item["value"]]]
})
col_idx = get_col_idx(item["key"])
if col_idx is not None:
updates.append({
'range': f'{self.sheet_handler._get_col_letter(col_idx + 1)}{row_num_in_sheet}',
'values': [[item["value"]]]
})
# --- NEUER SCHRITT: FSM Pitch generieren ---
if 'fsm_pitch' in chat_steps_to_run and self._needs_fsm_pitch(row_data, force_reeval):