From d91df3fe2aea4be269017d180e627196ffae9e0e Mon Sep 17 00:00:00 2001 From: Floke Date: Mon, 30 Jun 2025 14:49:08 +0000 Subject: [PATCH] bugfix --- helpers.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/helpers.py b/helpers.py index c1422da7..3df33a25 100644 --- a/helpers.py +++ b/helpers.py @@ -1074,13 +1074,18 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg def serp_wikipedia_lookup(company_name, website=None, min_score=0.4): """ Sucht ueber SerpAPI (Google) nach dem wahrscheinlichsten Wikipedia-Artikel. + Gibt die URL als String oder None bei Fehler/Nicht-Fund zurück. """ logger = logging.getLogger(__name__) serp_key = Config.API_KEYS.get('serpapi') if not serp_key: - logger.error("Fehler: SerpAPI Key nicht verfuegbar fuer Wikipedia Lookup.") - # NEU: Semantisch korrekterer Fehler. ConnectionRefusedError ist irreführend. - raise ValueError("SerpAPI Key nicht konfiguriert.") + # Kein harter Fehler mehr, nur eine Warnung und Rückgabe von None + logger.warning("SerpAPI Key nicht konfiguriert. Wikipedia-Suche via SerpAPI übersprungen.") + return None + + if not company_name or str(company_name).strip() == "": + logger.warning("serp_wikipedia_lookup: Kein Firmenname angegeben.") + return None query = f'{company_name} Wikipedia' if website and simple_normalize_url(website) != "k.A.": @@ -1164,23 +1169,25 @@ def serp_wikipedia_lookup(company_name, website=None, min_score=0.4): except Exception as e: logger.error(f"FEHLER bei der SerpAPI Wikipedia Suche fuer '{company_name}': {e}") - raise e + # Wir geben die Exception nicht mehr weiter, damit das Programm nicht abbricht + return None @retry_on_failure def serp_website_lookup(company_name): """ Ermittelt die offizielle Website eines Unternehmens ueber SerpAPI (Google Suche). + Gibt die URL als String oder "k.A." zurück. """ logger = logging.getLogger(__name__) serp_key = Config.API_KEYS.get('serpapi') if not serp_key: - logger.error("Fehler: SerpAPI Key nicht verfuegbar fuer Website Lookup.") - raise ConnectionRefusedError("SerpAPI Key nicht konfiguriert.") + logger.warning("SerpAPI Key nicht konfiguriert. Website-Suche via SerpAPI übersprungen.") + return "k.A. (SerpAPI Key fehlt)" if not company_name or str(company_name).strip() == "": logger.warning("serp_website_lookup: Kein Firmenname angegeben.") - raise ValueError("Kein Firmenname fuer SerpAPI Website Lookup angegeben.") + return "k.A. (Kein Firmenname)" blacklist = ["bloomberg.com", "northdata.de", "finanzen.net", "handelsblatt.com", "wikipedia.org", "linkedin.com", "xing.com", "youtube.com", "facebook.com", "twitter.com", "instagram.com", "glassdoor.com", "kununu.com"] query = f'{company_name} offizielle Website'