bugfix
This commit is contained in:
21
helpers.py
21
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):
|
def serp_wikipedia_lookup(company_name, website=None, min_score=0.4):
|
||||||
"""
|
"""
|
||||||
Sucht ueber SerpAPI (Google) nach dem wahrscheinlichsten Wikipedia-Artikel.
|
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__)
|
logger = logging.getLogger(__name__)
|
||||||
serp_key = Config.API_KEYS.get('serpapi')
|
serp_key = Config.API_KEYS.get('serpapi')
|
||||||
if not serp_key:
|
if not serp_key:
|
||||||
logger.error("Fehler: SerpAPI Key nicht verfuegbar fuer Wikipedia Lookup.")
|
# Kein harter Fehler mehr, nur eine Warnung und Rückgabe von None
|
||||||
# NEU: Semantisch korrekterer Fehler. ConnectionRefusedError ist irreführend.
|
logger.warning("SerpAPI Key nicht konfiguriert. Wikipedia-Suche via SerpAPI übersprungen.")
|
||||||
raise ValueError("SerpAPI Key nicht konfiguriert.")
|
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'
|
query = f'{company_name} Wikipedia'
|
||||||
if website and simple_normalize_url(website) != "k.A.":
|
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:
|
except Exception as e:
|
||||||
logger.error(f"FEHLER bei der SerpAPI Wikipedia Suche fuer '{company_name}': {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
|
@retry_on_failure
|
||||||
def serp_website_lookup(company_name):
|
def serp_website_lookup(company_name):
|
||||||
"""
|
"""
|
||||||
Ermittelt die offizielle Website eines Unternehmens ueber SerpAPI (Google Suche).
|
Ermittelt die offizielle Website eines Unternehmens ueber SerpAPI (Google Suche).
|
||||||
|
Gibt die URL als String oder "k.A." zurück.
|
||||||
"""
|
"""
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
serp_key = Config.API_KEYS.get('serpapi')
|
serp_key = Config.API_KEYS.get('serpapi')
|
||||||
if not serp_key:
|
if not serp_key:
|
||||||
logger.error("Fehler: SerpAPI Key nicht verfuegbar fuer Website Lookup.")
|
logger.warning("SerpAPI Key nicht konfiguriert. Website-Suche via SerpAPI übersprungen.")
|
||||||
raise ConnectionRefusedError("SerpAPI Key nicht konfiguriert.")
|
return "k.A. (SerpAPI Key fehlt)"
|
||||||
|
|
||||||
if not company_name or str(company_name).strip() == "":
|
if not company_name or str(company_name).strip() == "":
|
||||||
logger.warning("serp_website_lookup: Kein Firmenname angegeben.")
|
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"]
|
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'
|
query = f'{company_name} offizielle Website'
|
||||||
|
|||||||
Reference in New Issue
Block a user