bugfix
This commit is contained in:
@@ -2436,25 +2436,20 @@ def scrape_website_details(url):
|
||||
try: # <<< KORREKTE EINRÜCKUNG (auf gleicher Ebene wie logger.warning darüber)
|
||||
# Hilfsfunktion zum Abrufen des Soup-Objekts mit Retry.
|
||||
# Nutzt retry_on_failure, requests, BeautifulSoup, Config.
|
||||
@retry_on_failure
|
||||
def get_soup_for_details(target_url):
|
||||
# --- START DES NEUEN/ERSETZTEN BLOCKS ---
|
||||
if not target_url or not isinstance(target_url, str): # Zusätzliche Prüfung
|
||||
logger.error(f"get_soup_for_details: Ungültige URL '{target_url}' erhalten.")
|
||||
# Wirf direkt einen Fehler, der vom @retry_on_failure gefangen wird, falls es eine wiederholbare Ursache haben könnte,
|
||||
# oder einen spezifischen ValueError, falls es ein permanentes Problem ist.
|
||||
# Für eine ungültige URL-Struktur ist ValueError oft passender.
|
||||
raise ValueError(f"Ungültige URL für get_soup_for_details: {target_url}")
|
||||
@retry_on_failure
|
||||
def get_soup_for_details(target_url):
|
||||
if not target_url or not isinstance(target_url, str):
|
||||
logger.error(f"get_soup_for_details: Ungültige URL '{target_url}' erhalten.")
|
||||
raise ValueError(f"Ungültige URL für get_soup_for_details: {target_url}")
|
||||
|
||||
if not target_url.lower().startswith(("http://", "https://")):
|
||||
logger.debug(f"get_soup_for_details: Füge 'https://' zu URL '{target_url}' hinzu.")
|
||||
target_url = "https://" + target_url
|
||||
|
||||
# Der requests.get Call ist jetzt hier
|
||||
response = requests.get(target_url, timeout=getattr(Config, 'REQUEST_TIMEOUT', 15), verify=True)
|
||||
response.raise_for_status() # Wirft HTTPError für 4xx/5xx Antworten
|
||||
response.encoding = response.apparent_encoding # Encoding erraten
|
||||
return BeautifulSoup(response.text, getattr(Config, 'HTML_PARSER', 'html.parser')) # Parsen
|
||||
if not target_url.lower().startswith(("http://", "https://")):
|
||||
logger.debug(f"get_soup_for_details: Füge 'https://' zu URL '{target_url}' hinzu.")
|
||||
target_url = "https://" + target_url # Schema hinzufügen
|
||||
|
||||
response = requests.get(target_url, timeout=getattr(Config, 'REQUEST_TIMEOUT', 15), verify=True)
|
||||
response.raise_for_status()
|
||||
response.encoding = response.apparent_encoding
|
||||
return BeautifulSoup(response.text, getattr(Config, 'HTML_PARSER', 'html.parser'))
|
||||
# --- ENDE DES NEUEN/ERSETZTEN BLOCKS ---
|
||||
|
||||
# Rufen Sie die Hilfsfunktion auf, um das Soup-Objekt zu erhalten
|
||||
@@ -4694,8 +4689,12 @@ class DataProcessor:
|
||||
if force_reeval: grund_message_parts_wiki.append('Re-Eval')
|
||||
if not self._get_cell_value_safe(row_data, "Wikipedia Timestamp").strip(): grund_message_parts_wiki.append('Z (Wikipedia Timestamp) leer')
|
||||
if self._get_cell_value_safe(row_data, "Chat Wiki Konsistenzpruefung").strip().upper() == "X (URL COPIED)": grund_message_parts_wiki.append("AC (Chat Wiki Konsistenzpruefung)='X (URL COPIED)'")
|
||||
grund_message_parts_wiki = [] # Für Logging des Grundes
|
||||
if force_reeval: grund_message_parts_wiki.append('Re-Eval')
|
||||
if not self._get_cell_value_safe(row_data, "Wikipedia Timestamp").strip(): grund_message_parts_wiki.append('Z (Wikipedia Timestamp) leer')
|
||||
if self._get_cell_value_safe(row_data, "Chat Wiki Konsistenzpruefung").strip().upper() == "X (URL COPIED)": grund_message_parts_wiki.append("AC (Chat Wiki Konsistenzpruefung)='X (URL COPIED)'")
|
||||
grund_message_wiki = ", ".join(filter(None, grund_message_parts_wiki)) or "Unbekannter Grund (Wiki)"
|
||||
self.logger.info(f"Zeile {row_num_in_sheet}: Fuehre WIKI Schritte aus (Grund: {grund_message_wiki})...")
|
||||
self.logger.info(f"Zeile {row_num_in_sheet}: Fuehre WIKI Schritte aus (Grund: {grund_message_wiki})...") # KORREKTUR: grund_message_wiki
|
||||
|
||||
current_wiki_url_r = self._get_cell_value_safe(row_data, "Wiki URL").strip() # Spalte R (Tochter)
|
||||
system_suggested_parent_o = self._get_cell_value_safe(row_data, "System Vorschlag Parent Account").strip() # Spalte O
|
||||
|
||||
Reference in New Issue
Block a user