This commit is contained in:
2025-04-22 14:17:22 +00:00
parent 0f12d30f2d
commit 903362afef

View File

@@ -4145,21 +4145,46 @@ class DataProcessor:
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Wiki Kategorien"] + 1)}{row_num_in_sheet}', 'values': [[final_wiki_data.get('categories', 'k.A.')]]})
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Wikipedia Timestamp"] + 1)}{row_num_in_sheet}', 'values': [[now_timestamp]]}) # AN Timestamp setzen
# Setze S ('Chat Wiki Konsistenzprüfung') zurück, wenn eine Neubewertung nötig ist:
# - Immer bei force_reeval
# - Wenn die URL in M geändert wurde (entweder durch Suche oder weil M vorher leer war)
# - Wenn Status S zuvor "X (URL Copied)" war
url_changed = (url_in_m != final_wiki_data.get('url')) # Prüft ob die NEUE URL anders ist als die ursprünglich in M
if force_reeval or status_s_indicates_reparse or url_changed:
s_idx = COLUMN_MAP.get("Chat Wiki Konsistenzprüfung")
if s_idx is not None:
s_let = self.sheet_handler._get_col_letter(s_idx + 1)
updates.append({'range': f'{s_let}{row_num_in_sheet}', 'values': [["?"]]}) # Fragezeichen für Neubewertung
logging.info(f" -> Status S zurückgesetzt auf '?' für erneute Verifikation (Grund: {'Re-Eval' if force_reeval else ('S=\'X (URL Copied)\'' if status_s_indicates_reparse else 'URL geändert')}).")
# Setze S ('Chat Wiki Konsistenzprüfung') zurück, wenn eine Neubewertung nötig ist:
# - Immer bei force_reeval
# - Wenn die URL in M geändert wurde (entweder durch Suche oder weil M vorher leer war)
# - Wenn Status S zuvor "X (URL Copied)" war
url_changed = (url_in_m != final_wiki_data.get('url')) # Prüft ob die NEUE URL anders ist als die ursprünglich in M
# Prüfen, ob das Zurücksetzen des Status S überhaupt notwendig ist
if force_reeval or status_s_indicates_reparse or url_changed:
s_idx = COLUMN_MAP.get("Chat Wiki Konsistenzprüfung")
if s_idx is not None:
s_let = self.sheet_handler._get_col_letter(s_idx + 1)
# Füge das Update zum Zurücksetzen von S hinzu
updates.append({'range': f'{s_let}{row_num_in_sheet}', 'values': [["?"]]}) # Fragezeichen für Neubewertung
# Bestimme den Grund-String VOR dem Logging-Aufruf
grund_message_parts = []
if force_reeval:
grund_message_parts.append('Re-Eval')
# Beachten Sie: Hier verwenden wir einen normalen String, KEINEN f-String,
# für den Text "S='X (URL Copied)'". Wir escapen die einfachen Anführungszeichen
# nicht, weil wir die äußeren Anführungszeichen des String-Literals ändern (auf doppelt),
# oder wir lassen die einfachen Anführungszeichen einfach unescaped im String.
# Letzteres ist in einem normalen String erlaubt.
if status_s_indicates_reparse:
grund_message_parts.append("S='X (URL Copied)'") # Nutzen Sie doppelte Anführungszeichen außen
if url_changed:
grund_message_parts.append('URL geändert')
# Verbinde die Gründe, falls mehrere zutreffen
grund_message = ", ".join(grund_message_parts)
# Logge nun mit dem vorbereiteten Grund-String
logging.info(f" -> Status S zurückgesetzt auf '?' für erneute Verifikation (Grund: {grund_message}).")
# else: # Diesen else-Zweig gab es vorher nicht, ist auch nicht nötig
# logging.debug(f"Zeile {row_num_in_sheet}: Status S nicht zurückgesetzt (AN da, S nicht X(Copied), kein Re-Eval).")
elif process_wiki:
logging.debug(f"Zeile {row_num_in_sheet}: Überspringe Wikipedia Verarbeitung (AN vorhanden, kein S=\'X (URL Copied)\' und kein Re-Eval).")
elif process_wiki: # Dieser elif-Zweig gehört weiterhin zum if wiki_processing_needed: Block
logging.debug(f"Zeile {row_num_in_sheet}: Überspringe Wikipedia Verarbeitung (AN vorhanden, kein S='X (URL Copied)' und kein Re-Eval).")
# --- 3. ChatGPT Evaluationen (Branch etc.) (Prüft AO oder force_reeval oder wiki_data_updated_in_this_run) ---