bugfix
This commit is contained in:
@@ -1584,6 +1584,20 @@ def process_contact_research():
|
|||||||
main_sheet = sh.sheet1
|
main_sheet = sh.sheet1
|
||||||
data = main_sheet.get_all_values()
|
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
|
# Versuche, das Kontakte-Tabellenblatt zu öffnen; falls nicht vorhanden, erstelle es
|
||||||
try:
|
try:
|
||||||
contacts_sheet = sh.worksheet("Contacts")
|
contacts_sheet = sh.worksheet("Contacts")
|
||||||
@@ -1593,8 +1607,9 @@ def process_contact_research():
|
|||||||
contacts_sheet.update(values=[header], range_name="A1:H1")
|
contacts_sheet.update(values=[header], range_name="A1:H1")
|
||||||
debug_print("Neues Blatt 'Contacts' erstellt und Header eingetragen.")
|
debug_print("Neues Blatt 'Contacts' erstellt und Header eingetragen.")
|
||||||
|
|
||||||
# Verarbeite jede Zeile im Hauptblatt
|
# Verarbeite jede Zeile im Hauptblatt ab der festgelegten Startzeile
|
||||||
for i, row in enumerate(data[1:], start=2):
|
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 ""
|
company_name = row[1] if len(row) > 1 else ""
|
||||||
crm_kurzform = row[2] if len(row) > 2 else ""
|
crm_kurzform = row[2] if len(row) > 2 else ""
|
||||||
website = row[3] if len(row) > 3 else ""
|
website = row[3] if len(row) > 3 else ""
|
||||||
@@ -1623,13 +1638,12 @@ def process_contact_research():
|
|||||||
else:
|
else:
|
||||||
debug_print(f"Zeile {i}: Kein passender Kontakt für Position '{pos}' gefunden.")
|
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:
|
try:
|
||||||
main_sheet.update(values=[[str(contact_counts.get("Serviceleiter", 0))]], range_name=f"AI{i}")
|
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("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("Geschäftsführer", 0))]], range_name=f"AK{i}")
|
||||||
main_sheet.update(values=[[str(contact_counts.get("Disponent", 0))]], range_name=f"AL{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")
|
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
main_sheet.update(values=[[timestamp]], range_name=f"AM{i}")
|
main_sheet.update(values=[[timestamp]], range_name=f"AM{i}")
|
||||||
debug_print(f"Zeile {i}: Kontaktzahlen aktualisiert: {contact_counts} – Timestamp in AM gesetzt.")
|
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.")
|
debug_print("Contact Research abgeschlossen.")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ----------------- DataProcessor-Klasse inklusive neuer SERP-API Website Lookup-Methode -----------------
|
# ----------------- DataProcessor-Klasse inklusive neuer SERP-API Website Lookup-Methode -----------------
|
||||||
class DataProcessor:
|
class DataProcessor:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user