From 1d6c0c4b5a1d828f79f29563e92deeeb8f3b6523 Mon Sep 17 00:00:00 2001 From: Floke Date: Tue, 8 Apr 2025 17:58:02 +0000 Subject: [PATCH] =?UTF-8?q?v1.4.6=20Neue=20Betriebsmodi:=20Untermodi=20f?= =?UTF-8?q?=C3=BCr=20Re-Evaluation,=20Website,=20SERP,=20ChatGPT=20impleme?= =?UTF-8?q?ntiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Umstellung des Modus-Menüs auf ein neues Zahlensystem (1, 11, 21, 22, 31, 41, 51, 6) - Modus 11: Re-Evaluation markierter Zeilen (ehemals Modus 2) - Modus 21: Testmodus Website-Scraping (nur Website-Rohtext & Zusammenfassung) - Modus 22: SERP-API basierter Website Lookup - Modus 31: Vollständige ChatGPT-Auswertung - Modus 41: Nur Wikipedia-Scraping - Re-Evaluation-Untermodi (z. B. 11.1) können bei Bedarf später hinzugefügt werden - Main-Funktion angepasst, um neue Modusauswahl zu ermöglichen --- brancheneinstufung.py | 60 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 52 insertions(+), 8 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index c4cc8b52..e60122a1 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -1162,23 +1162,67 @@ def count_linkedin_contacts(company_name, website, position_query): def main(): global MODE, LOG_FILE print("Bitte wählen Sie den Betriebsmodus:") - print("1: Vollständige Verarbeitung (alle Funktionen) [Noch nicht fertig]") - print("2: Re-Evaluierung markierter Zeilen (nur 'x' in Spalte A)") - print("3: Alignment-Demo (nur Spaltenüberschriften)") - print("4: Nur Wikipedia-Suche") - print("5: Nur ChatGPT-Auswertung") - print("51: Verifizierungsmodus Batch") + print("1: Vollständige Verarbeitung (alle Funktionen)") + print("11: Re-Evaluation markierter Zeilen (nur 'x' in Spalte A)") + print("21: Website-Scraping Testmodus (nur Website-Rohtext & Zusammenfassung)") + print("22: SERP-API Website Lookup (nur Website-Daten ermitteln)") + print("31: Nur ChatGPT-Auswertung (alle ChatGPT-Routinen)") + print("41: Nur Wikipedia-Scraping") + print("51: Batch-Verifizierung (alte Nummerierung beibehalten)") print("6: Contact Research (LinkedIn)") - print("8: Batch Token-Zählung") + # Optional: Falls Modus 8 nicht benötigt wird, kann er weggelassen werden. MODE = input("Geben Sie den Modus (Zahl) ein: ").strip() if not MODE: MODE = "1" LOG_FILE = create_log_filename(MODE) debug_print(f"Start Betriebsmodus {MODE}") + # Anzeigen der Prompt-Übersicht for entry in prompt_overview()[1:]: debug_print(f"{entry[0]}: {entry[1]}") + dp = DataProcessor() - dp.process_rows() + + if MODE == "1": + dp.process_rows() # Vollständige Verarbeitung + elif MODE == "11": + # Re-Evaluation markierter Zeilen (z.B. nur "x" in Spalte A) + for i, row in enumerate(dp.sheet_handler.sheet_values[1:], start=2): + if row[0].strip().lower() == "x": + dp._process_single_row(i, row) + elif MODE == "21": + # Testmodus: Nur Website-Scraping (Auswertung der Website-Daten) + for i, row in enumerate(dp.sheet_handler.sheet_values[1:], start=2): + # Hier fordern wir explizit, dass wir nur den Website-Scraping-Teil durchlaufen + dp._process_single_row(i, row, process_wiki=False, process_chatgpt=False) + elif MODE == "22": + # Nur SERP-API Website Lookup: Hier können wir eine separate Funktion einführen, falls benötigt. + # Z.B.: dp.process_serp_website_lookup() + print("SERP-API Website Lookup noch nicht vollständig implementiert.") + elif MODE == "31": + # Nur ChatGPT-Auswertung + for i, row in enumerate(dp.sheet_handler.sheet_values[1:], start=2): + dp._process_single_row(i, row, process_wiki=False, process_chatgpt=True) + elif MODE == "41": + # Nur Wikipedia-Scraping + for i, row in enumerate(dp.sheet_handler.sheet_values[1:], start=2): + dp._process_single_row(i, row, process_wiki=True, process_chatgpt=False) + elif MODE == "51": + process_verification_only() + elif MODE == "6": + # Contact Research (LinkedIn) + process_contact_research() + else: + start_index = dp.sheet_handler.get_start_index() + print(f"Starte bei Zeile {start_index+1}") + rows_processed = 0 + for i, row in enumerate(dp.sheet_handler.sheet_values[1:], start=2): + if i < start_index: + continue + if rows_processed >= 1: # Falls eine spezifische Anzahl gewünscht wird, kann num_rows hier gesetzt werden. + break + dp._process_single_row(i, row) + rows_processed += 1 + print(f"Verarbeitung abgeschlossen. Logfile: {LOG_FILE}") if __name__ == '__main__':