This commit is contained in:
2025-04-09 08:26:50 +00:00
parent 66a9b82d79
commit ee96102424

View File

@@ -1157,10 +1157,10 @@ class DataProcessor:
self._process_single_row(i, row)
rows_processed += 1
def _process_single_row(self, row_num, row_data, process_wiki=True, process_chatgpt=True):
# Hole den Firmennamen aus Spalte B
# Hole den Firmennamen aus Spalte B (Index 1)
company_name = row_data[1] if len(row_data) > 1 else ""
# Hole die CRM-Website (Spalte D). Wenn diese leer ist, führe den SERP-API Lookup durch.
# Hole die CRM-Website aus Spalte D (Index 3). Falls keine Website vorhanden, führe den SERP-API Lookup durch.
website_url = row_data[3] if len(row_data) > 3 else ""
if website_url.strip() == "" or website_url.strip().lower() == "k.a.":
new_website = serp_website_lookup(company_name)
@@ -1173,38 +1173,37 @@ def _process_single_row(self, row_num, row_data, process_wiki=True, process_chat
debug_print(f"Zeile {row_num}: Fehler beim Updaten der CRM-Website in Spalte D: {e}")
else:
debug_print(f"Zeile {row_num}: Keine Website gefunden für {company_name}.")
# Unabhängig vom process_wiki-Flag: Führe Website-Scraping durch, sofern eine Website vorliegt
website_raw = "k.A."
website_summary = "k.A."
if website_url.strip() != "" and website_url.strip().lower() != "k.a.":
# Extrahiere den Rohtext der Website
website_raw = get_website_raw(website_url)
# Erstelle eine Zusammenfassung des Website-Contents
website_summary = summarize_website_content(website_raw)
# Debug: Ausgabe der Länge und eines Ausschnitts des Rohtexts
debug_print(f"Zeile {row_num}: Gescrappter Website-Rohtext Länge: {len(website_raw)}; erster Ausschnitt: {website_raw[:100]}")
debug_print(f"Zeile {row_num}: Website-Zusammenfassung: {website_summary}")
# Aktualisiere Spalte AR (Website-Rohtext)
try:
update_result_ar = self.sheet_handler.sheet.update(values=[[website_raw]], range_name=f"AR{row_num}")
debug_print(f"Zeile {row_num}: Spalte AR Update erfolgreich: {update_result_ar}")
except Exception as e:
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AR: {e}")
# Aktualisiere Spalte AS (Website Zusammenfassung)
try:
update_result_as = self.sheet_handler.sheet.update(values=[[website_summary]], range_name=f"AS{row_num}")
debug_print(f"Zeile {row_num}: Spalte AS Update erfolgreich: {update_result_as}")
except Exception as e:
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AS: {e}")
debug_print(f"Zeile {row_num}: Website-Daten gescrapt. Rohtext (Länge {len(website_raw)}): {website_raw[:100]}..., Zusammenfassung: {website_summary}")
else:
debug_print(f"Zeile {row_num}: Kein gültiger Website-URL vorhanden, Website-Scraping wird übersprungen.")
# Unabhängig vom process_wiki-Flag: Führe Website-Scraping durch, sofern eine Website vorliegt.
website_raw = "k.A."
website_summary = "k.A."
if website_url.strip() != "" and website_url.strip().lower() != "k.a.":
# Extrahiere den Rohtext der Website
website_raw = get_website_raw(website_url)
# Erstelle eine Zusammenfassung des Website-Contents
website_summary = summarize_website_content(website_raw)
# Debug-Ausgabe: Ausgabe der Länge und eines Ausschnitts des gescrapten Textes
debug_print(f"Zeile {row_num}: Gescrappter Website-Rohtext Länge: {len(website_raw)}; erster Ausschnitt: {website_raw[:100]}")
debug_print(f"Zeile {row_num}: Website-Zusammenfassung: {website_summary}")
# Aktualisiere Spalte AR (Website-Rohtext)
try:
update_result_ar = self.sheet_handler.sheet.update(values=[[website_raw]], range_name=f"AR{row_num}")
debug_print(f"Zeile {row_num}: Spalte AR Update erfolgreich: {update_result_ar}")
except Exception as e:
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AR: {e}")
# Aktualisiere Spalte AS (Website Zusammenfassung)
try:
update_result_as = self.sheet_handler.sheet.update(values=[[website_summary]], range_name=f"AS{row_num}")
debug_print(f"Zeile {row_num}: Spalte AS Update erfolgreich: {update_result_as}")
except Exception as e:
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AS: {e}")
debug_print(f"Zeile {row_num}: Website-Daten gescrapt. Rohtext (Länge {len(website_raw)}): {website_raw[:100]}..., Zusammenfassung: {website_summary}")
else:
debug_print(f"Zeile {row_num}: Kein gültiger Website-URL vorhanden, Website-Scraping wird übersprungen.")
# Weiterer Verarbeitungsteil: Wikipedia-Verarbeitung (falls process_wiki True)
wiki_update_range = f"L{row_num}:R{row_num}"
@@ -1296,6 +1295,7 @@ else:
f"Servicetechniker-Schätzung: {st_estimate}")
time.sleep(Config.RETRY_DELAY)
# ==================== ALIGNMENT DEMO FÜR HAUPTBLATT UND CONTACTS ====================
def alignment_demo_full():