bugfix
This commit is contained in:
@@ -1584,6 +1584,20 @@ def process_contact_research():
|
||||
main_sheet = sh.sheet1
|
||||
data = main_sheet.get_all_values()
|
||||
|
||||
# Ermittle die letzte Zeile in Spalte AM (Spalte 39), in der ein Timestamp eingetragen wurde
|
||||
col_am = main_sheet.col_values(39) # Spalte AM hat den Index 39 (A=1, ..., AM=39)
|
||||
last_filled_row = 1 # Standardmäßig wird die Header-Zeile angenommen
|
||||
for idx, cell in enumerate(col_am):
|
||||
if cell.strip() != "":
|
||||
last_filled_row = idx + 1 # idx ist 0-basiert, Zeilennummern beginnen bei 1
|
||||
start_row = last_filled_row + 1 # Beginne mit der nächsten Zeile
|
||||
debug_print(f"Letzter Timestamp in Spalte AM wurde in Zeile {last_filled_row} gefunden. Starte Verarbeitung ab Zeile {start_row}.")
|
||||
|
||||
# Falls start_row größer ist als die Anzahl der vorhandenen Zeilen, gibt es nichts weiter zu verarbeiten
|
||||
if start_row > len(data):
|
||||
debug_print("Keine neuen Zeilen zu verarbeiten, da Timestamp in Spalte AM bereits bis zum Ende vorhanden ist.")
|
||||
return
|
||||
|
||||
# Versuche, das Kontakte-Tabellenblatt zu öffnen; falls nicht vorhanden, erstelle es
|
||||
try:
|
||||
contacts_sheet = sh.worksheet("Contacts")
|
||||
@@ -1593,8 +1607,9 @@ def process_contact_research():
|
||||
contacts_sheet.update(values=[header], range_name="A1:H1")
|
||||
debug_print("Neues Blatt 'Contacts' erstellt und Header eingetragen.")
|
||||
|
||||
# Verarbeite jede Zeile im Hauptblatt
|
||||
for i, row in enumerate(data[1:], start=2):
|
||||
# Verarbeite jede Zeile im Hauptblatt ab der festgelegten Startzeile
|
||||
for i in range(start_row, len(data) + 1):
|
||||
row = data[i - 1] # Da data eine 0-basierte Liste ist
|
||||
company_name = row[1] if len(row) > 1 else ""
|
||||
crm_kurzform = row[2] if len(row) > 2 else ""
|
||||
website = row[3] if len(row) > 3 else ""
|
||||
@@ -1623,13 +1638,12 @@ def process_contact_research():
|
||||
else:
|
||||
debug_print(f"Zeile {i}: Kein passender Kontakt für Position '{pos}' gefunden.")
|
||||
|
||||
# Aktualisiere die Hauptblatt-Zeile mit der Summe der Treffer in den Spalten AI, AJ, AK, AL
|
||||
# Aktualisiere die Hauptblatt-Zeile mit der Summe der Treffer in den Spalten AI, AJ, AK, AL und schreibe den Timestamp in AM
|
||||
try:
|
||||
main_sheet.update(values=[[str(contact_counts.get("Serviceleiter", 0))]], range_name=f"AI{i}")
|
||||
main_sheet.update(values=[[str(contact_counts.get("IT-Leiter", 0))]], range_name=f"AJ{i}")
|
||||
main_sheet.update(values=[[str(contact_counts.get("Geschäftsführer", 0))]], range_name=f"AK{i}")
|
||||
main_sheet.update(values=[[str(contact_counts.get("Disponent", 0))]], range_name=f"AL{i}")
|
||||
# Aktualisiere den Timestamp in Spalte AM
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
main_sheet.update(values=[[timestamp]], range_name=f"AM{i}")
|
||||
debug_print(f"Zeile {i}: Kontaktzahlen aktualisiert: {contact_counts} – Timestamp in AM gesetzt.")
|
||||
@@ -1639,6 +1653,7 @@ def process_contact_research():
|
||||
debug_print("Contact Research abgeschlossen.")
|
||||
|
||||
|
||||
|
||||
# ----------------- DataProcessor-Klasse inklusive neuer SERP-API Website Lookup-Methode -----------------
|
||||
class DataProcessor:
|
||||
def __init__(self):
|
||||
|
||||
Reference in New Issue
Block a user