Git-Änderungsbeschreibung:
- Doppelte Funktionen (process_verification_only, _process_batch, count_linkedin_contacts) entfernt.
- Doppelte DataProcessor-Klasse entfernt.
- Ungenutzten Code (Timestamp-Handling, compare_umsatz_values, process_contacts) entfernt.
- Google Sheet Updates optimiert durch konsequentere Nutzung von batch_update in Schleifen (_process_batch, process_website_batch, process_branch_batch, process_contact_research).
- API-Key-Handling zentralisiert: Keys werden einmal in Config geladen und von dort bezogen.
- Google Sheet Verbindung zentralisiert: Wird nur noch im GoogleSheetHandler aufgebaut.
- Vorbereitung für robustere Spaltenzugriffe durch Einführung einer COLUMN_MAP (noch nicht durchgängig genutzt).
- Modus-Steuerung in main() konsolidiert.
- alignment_demo korrigiert (nur noch für Hauptblatt). Header für Contacts-Blatt in process_contact_research gesetzt.
- Konstanten für Dateinamen eingeführt.
- Mapping-Funktion load_branch_mapping() integriert, um aus der CSV "ziel_Branchenschema.csv" automatisch ein Mapping-Dictionary zu erstellen.
- Neue Funktion map_external_branch() implementiert, die den von ChatGPT gelieferten externen Branchenbegriff (nach Normalisierung) in das standardisierte Ziel-Branchenschema überführt.
- In evaluate_branche_chatgpt wird zuerst der ChatGPT-Vorschlag geparst, unerwünschte Präfixe entfernt und über map_external_branch() in den korrekten Standardwert transformiert.
- Optional wird der CRM-Präfix ergänzt, falls der Mapping-Wert kein hierarchisches Trennzeichen enthält.
- Damit wird der externe Input selbstbewusster übernommen, solange er durch das Mapping bestätigt wird.
- evaluate_branche_chatgpt: Neuer Schritt zum Ergänzen fehlender Hierarchie mit CRM-Präfix
- Fuzzy Matching zwischen zusammengesetztem Vorschlag und CRM-Wert eingebaut
- Sicherstellung, dass der finale Brancheneintrag stets dem Ziel-Branchenschema entspricht
- evaluate_branche_chatgpt: Fallback auf CRM-Wert implementiert, wenn ChatGPT-Vorschlag nicht valide ist
- Helper-Funktionen is_valid_branch und branch_matches_target_schema zur Überprüfung der Branchenwerte hinzugefügt
- Fokusbranchen (service provider, hersteller / produzenten, sonstige) bleiben erhalten
- Alle verwendeten Input-Werte (CRM-Branche, externe Beschreibung, Wiki-Daten, Website-Zusammenfassung) werden geloggt.
- Bei fehlendem Wikipedia-Eintrag wird explizit die Website-Zusammenfassung als Fallback genutzt.
- Normierte Eingabewerte und Ziel-Branchenschema werden für den exakten Vergleich ausgegeben.
- Es werden ausschließlich Branchen aus dem Ziel-Schema akzeptiert – ansonsten Rückgabe "k.A." mit Konsistenz "X".
- Neuer run_dispatcher, der den Startpunkt (erste Zeile ohne Zeitstempel in AO ab Zeile 7)
ermittelt und den verarbeitenden Bereich (z. B. 50 Zeilen) definiert.
- Separate Batch-Funktionen: process_wiki_batch (Spalten S–Y), process_website_batch (Spalten AR/AS)
und process_branch_batch (Spalten W–Y) werden je nach Modus aufgerufen.
- Erlaubt getrennte oder kombinierte Durchläufe via Modus-Parameter.
- Verbesserte Log-Ausgaben unterstützen die Fehleranalyse.
- Anpassbare Batchgröße (Config.BATCH_SIZE, z. B. 10 Zeilen) zur Bündelung von ChatGPT-Anfragen.
- Aggregierte Prompts werden pro Batch erstellt und zeilenweise ausgewertet, mit erweitertem Logging.
- Ergebnisse der Aggregation werden als Paket verarbeitet und Google Sheets effizient aktualisiert.
- Alignment-Demo als eigenständiger Funktionsbaustein (alignment_demo_full) wiederhergestellt.
- Neue Funktion get_email_address zur Erzeugung der E-Mail-Adresse im Format vorname.nachname@domain.tld
- Anpassung von process_contact_research: E-Mail-Adresse in Spalte I eingetragen, LinkedIn-Link und Timestamp entsprechend verschoben
- Integration der E-Mail-Generierung in den bestehenden Kontaktverarbeitungs-Workflow, bestehende Funktionen weitgehend unverändert
- Umstellung der Geschlechtsbestimmung: Zuerst gender-guesser, Fallback zu Genderize API
- Geschlecht wird jetzt in Spalte D gespeichert (alle folgenden Felder rutschen um eine Spalte nach rechts)
- Aktualisierte Header und Kontaktzeilen im Contacts-Blatt, inklusive API-Key aus "genderize_API_Key.txt"
- Anpassung der Contact Research-Funktion zur Verarbeitung der geänderten Spalten