bugfix
This commit is contained in:
@@ -321,6 +321,11 @@ def process_find_wiki_with_serp(sheet_handler, row_limit=None, min_employees=500
|
||||
über SerpAPI und trägt gefundene URLs in Spalte M ein. Setzt ReEval-Flag (A)
|
||||
und löscht Timestamps (AN, AO) für gefundene Einträge.
|
||||
Merkt sich in Spalte AY, wann die Suche durchgeführt wurde.
|
||||
|
||||
Args:
|
||||
sheet_handler (GoogleSheetHandler): Initialisierte Instanz.
|
||||
row_limit (int, optional): Maximale Anzahl zu prüfender Zeilen. Defaults to None.
|
||||
min_employees (int, optional): Mindestanzahl Mitarbeiter (Spalte K) als Filter. Defaults to 500.
|
||||
"""
|
||||
logging.info(f"Starte Modus 'find_wiki_serp': Suche fehlende Wiki-URLs für Firmen > {min_employees} MA...")
|
||||
|
||||
@@ -351,6 +356,7 @@ def process_find_wiki_with_serp(sheet_handler, row_limit=None, min_employees=500
|
||||
logging.critical(f"FEHLER beim Holen der Spaltenbuchstaben: {e}")
|
||||
return
|
||||
|
||||
# --- HIER WIRD all_sheet_updates definiert ---
|
||||
all_sheet_updates = []
|
||||
processed_rows = 0 # Zählt Zeilen, für die eine Suche durchgeführt wurde
|
||||
found_urls = 0 # Zählt Zeilen, wo eine URL gefunden wurde
|
||||
@@ -375,6 +381,7 @@ def process_find_wiki_with_serp(sheet_handler, row_limit=None, min_employees=500
|
||||
continue # Nächste Zeile, diese wurde schon geprüft
|
||||
# --- ENDE NEUE PRÜFUNG ---
|
||||
|
||||
# Prüfe, ob Zeile überhaupt verarbeitet werden soll
|
||||
try:
|
||||
# 1. Mitarbeiterzahl prüfen
|
||||
ma_val_str = row[col_indices["K"]] if len(row) > col_indices["K"] else "0"
|
||||
@@ -389,6 +396,7 @@ def process_find_wiki_with_serp(sheet_handler, row_limit=None, min_employees=500
|
||||
|
||||
# 2. Prüfen, ob Wiki URL (M) leer oder "k.A." ist
|
||||
m_value = row[col_indices["M"]] if len(row) > col_indices["M"] else ""
|
||||
# Prüfe auf leer UND 'k.a.' (case-insensitive)
|
||||
if m_value and m_value.strip().lower() != "k.a.":
|
||||
skipped_m_filled_count += 1
|
||||
continue
|
||||
@@ -401,9 +409,9 @@ def process_find_wiki_with_serp(sheet_handler, row_limit=None, min_employees=500
|
||||
|
||||
# --- SerpAPI Suche durchführen ---
|
||||
logging.info(f"Zeile {row_num_in_sheet}: Suche Wiki-URL für '{company_name}' (MA: {ma_val})...")
|
||||
wiki_url_found = serp_wikipedia_lookup(company_name)
|
||||
wiki_url_found = serp_wikipedia_lookup(company_name) # Annahme: nutzt logging
|
||||
processed_rows += 1 # Zähle die durchgeführte Suche
|
||||
time.sleep(1.5) # Pause
|
||||
time.sleep(1.5) # Pause zwischen SerpAPI-Aufrufen
|
||||
|
||||
# --- Updates vorbereiten ---
|
||||
# Timestamp AY IMMER setzen, um die Suche zu markieren
|
||||
@@ -424,27 +432,31 @@ def process_find_wiki_with_serp(sheet_handler, row_limit=None, min_employees=500
|
||||
# Optional: Marker in M schreiben? Vorerst nicht, AY reicht.
|
||||
# row_updates.append({'range': f'{col_letters["M"]}{row_num_in_sheet}', 'values': [['k.A. (SerpAPI Searched)']]})
|
||||
|
||||
# Füge die Updates für diese Zeile zur Gesamtliste hinzu
|
||||
all_sheet_updates.extend(row_updates)
|
||||
|
||||
except Exception as e:
|
||||
# Logge Fehler und fahre mit der nächsten Zeile fort
|
||||
logging.exception(f"Unerwarteter Fehler bei Verarbeitung von Zeile {row_num_in_sheet}: {e}")
|
||||
continue # Gehe zur nächsten Zeile
|
||||
|
||||
# --- Batch Update am Ende ---
|
||||
if all_sheet_updates:
|
||||
logging.info(f"Sende Batch-Update für {processed_rows} geprüfte Zeilen ({found_urls} URLs gefunden, {len(all_sheet_updates)} Zellen)...")
|
||||
success = sheet_handler.batch_update_cells(all_sheet_updates)
|
||||
if success:
|
||||
logging.info(f"Sheet-Update für 'find_wiki_serp' erfolgreich.")
|
||||
# Fehler wird von batch_update_cells geloggt
|
||||
else:
|
||||
logging.info("Keine Zeilen gefunden, für die eine SerpAPI Wiki-Suche durchgeführt werden musste/konnte.")
|
||||
# --- Batch Update am Ende ---
|
||||
# Dieser Block muss auf derselben Einrückungsebene wie die for-Schleife sein!
|
||||
if all_sheet_updates:
|
||||
logging.info(f"Sende Batch-Update für {processed_rows} geprüfte Zeilen ({found_urls} URLs gefunden, {len(all_sheet_updates)} Zellen)...")
|
||||
success = sheet_handler.batch_update_cells(all_sheet_updates)
|
||||
if success:
|
||||
logging.info(f"Sheet-Update für 'find_wiki_serp' erfolgreich.")
|
||||
# Fehler wird von batch_update_cells geloggt
|
||||
else:
|
||||
logging.info("Keine Zeilen gefunden, für die eine SerpAPI Wiki-Suche durchgeführt werden musste/konnte.")
|
||||
|
||||
logging.info(f"Modus 'find_wiki_serp' abgeschlossen.")
|
||||
logging.info(f" Durchgeführte Suchen in diesem Lauf: {processed_rows}")
|
||||
logging.info(f" Gefundene & eingetragene URLs: {found_urls}")
|
||||
logging.info(f" Übersprungen (AY bereits gesetzt): {skipped_timestamp_ay}")
|
||||
logging.info(f" Übersprungen (MA <= {min_employees}): {skipped_employee_count}")
|
||||
logging.info(f" Übersprungen (M bereits gefüllt): {skipped_m_filled_count}")
|
||||
logging.info(f"Modus 'find_wiki_serp' abgeschlossen.")
|
||||
logging.info(f" Durchgeführte Suchen in diesem Lauf: {processed_rows}")
|
||||
logging.info(f" Gefundene & eingetragene URLs: {found_urls}")
|
||||
logging.info(f" Übersprungen (AY bereits gesetzt): {skipped_timestamp_ay}")
|
||||
logging.info(f" Übersprungen (MA <= {min_employees}): {skipped_employee_count}")
|
||||
logging.info(f" Übersprungen (M bereits gefüllt): {skipped_m_filled_count}")
|
||||
|
||||
def prepare_data_for_modeling(sheet_handler):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user