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: