From 47a7f1d442f7c19a17ca972a596e0732b0e744e7 Mon Sep 17 00:00:00 2001 From: Floke Date: Mon, 14 Apr 2025 05:18:46 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 39f5a587..d016b312 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -1408,9 +1408,10 @@ class WikipediaScraper: def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kategorien, website_summary): def load_target_branches(): try: - with open("ziel_Branchenschema.csv", "r", encoding="utf-8") as csvfile: + # Mit "utf-8-sig" werden BOM-Zeichen automatisch entfernt. + with open("ziel_Branchenschema.csv", "r", encoding="utf-8-sig") as csvfile: reader = csv.reader(csvfile) - # Filtere mögliche Header (z. B. "Branche") aus + # Filtern: Nur Zeilen, deren erster Eintrag (nach Strip) nicht exakt "branche" (unabhängig von Groß-/Kleinschreibung) ist. branches = [row[0].strip() for row in reader if row and row[0].strip().lower() != "branche"] return branches except Exception as e: @@ -1444,7 +1445,6 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg return {"branch": "k.A.", "consistency": "k.A.", "justification": "k.A."} openai.api_key = api_key - # Falls kein Wikipedia-Artikel vorhanden ist, nutze als Fallback die Website-Zusammenfassung if wiki_branche.strip().lower() == "k.a.": debug_print("Kein Wikipedia-Artikel vorhanden – verwende Website-Zusammenfassung als Branchenbeschreibung-Fallback.") used_description = website_summary @@ -1495,13 +1495,12 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg elif line.lower().startswith("begründung:"): justification = line.split(":", 1)[1].strip() - # Fallback-Logik: Wurde kein gültiger Branch von ChatGPT zurückgegeben? - # Prüfe, ob der vorgeschlagene Branch in target_branches enthalten ist. + # Fallback-Logik: Falls der von ChatGPT vorgeschlagene Branch nicht im Ziel-Branchenschema enthalten ist, + # wird geprüft, ob der in CRM angegebene Branch vorhanden und gültig ist; andernfalls der erste Eintrag. target_lower = [tb.lower() for tb in target_branches] if branch is None or branch.lower() not in target_lower: debug_print("Vorgeschlagene Branche entspricht nicht dem Ziel-Branchenschema, Fallback verwenden.") fallback = None - # Falls der in CRM angegebene Branch im Zielschema liegt, verwende ihn. if crm_branche.strip() and crm_branche.lower() in target_lower: fallback = crm_branche.strip() elif target_branches: @@ -1516,6 +1515,7 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg + def evaluate_servicetechnicians_estimate(company_name, company_data): try: with open("serpApiKey.txt", "r") as f: