From e430245d2af6502f2168e06ad3fa32a36cf1e4b1 Mon Sep 17 00:00:00 2001 From: Floke Date: Fri, 18 Jul 2025 11:06:53 +0000 Subject: [PATCH] Update Verify Wiki --- helpers.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/helpers.py b/helpers.py index c1b50b36..eb62a5bd 100644 --- a/helpers.py +++ b/helpers.py @@ -1028,21 +1028,25 @@ def verify_wiki_article_chatgpt(company_name, website, wiki_url): if not chat_response: raise APIError("Keine Antwort von OpenAI für Wiki-Verifizierung erhalten.") - # Parsing der Antwort - result = {"consistency": "FEHLER", "justification": "", "suggested_url": ""} + # Robustes Parsing der Antwort + result = {"consistency": "FEHLER PARSING", "justification": f"Unerwartete Antwort: {chat_response[:100]}", "suggested_url": ""} lines = chat_response.strip().split("\n") + + # Dictionary zum Sammeln der gefundenen Werte + parsed_data = {} for line in lines: if ":" in line: key, value = line.split(":", 1) - key = key.strip().lower() + key = key.strip().lower().replace(" ", "_") # Normalisiere den Key value = value.strip() - if key == "konsistenz": - result["consistency"] = value.upper() - elif key == "begründung": - result["justification"] = value - elif key == "vorschlag url": - result["suggested_url"] = value + parsed_data[key] = value + + # Fülle das result-Dictionary sicher + result["consistency"] = parsed_data.get("konsistenz", "FEHLER PARSING").upper() + result["justification"] = parsed_data.get("begründung", f"Begründung nicht gefunden in Antwort: {chat_response[:100]}") + result["suggested_url"] = parsed_data.get("vorschlag_url", "") + logger.debug(f"Geparstes Wiki-Verify Ergebnis: {result}") return result except Exception as e: