[31388f42] Implement end-to-end email ingest for Tradingtwins leads via MS Graph API

This commit is contained in:
2026-03-02 07:39:46 +00:00
parent 881ab68f89
commit 7e51ef97e8
3 changed files with 219 additions and 22 deletions

View File

@@ -1,6 +1,16 @@
import json
import time
import os
import sys
# Ensure we can import from lead-engine
sys.path.append(os.path.join(os.path.dirname(__file__), 'lead-engine'))
try:
from trading_twins_ingest import process_leads
except ImportError:
print("Warning: Could not import trading_twins_ingest from lead-engine. Email ingestion disabled.")
process_leads = None
from company_explorer_connector import handle_company_workflow
def run_trading_twins_process(target_company_name: str):
@@ -46,6 +56,14 @@ def run_trading_twins_process(target_company_name: str):
print(f"Trading Twins Analyse für {target_company_name} abgeschlossen.")
print(f"{'='*50}\n")
def run_email_ingest():
"""Starts the automated email ingestion process for Tradingtwins leads."""
if process_leads:
print("\nStarting automated email ingestion via Microsoft Graph...")
process_leads()
print("Email ingestion completed.")
else:
print("Error: Email ingestion module not available.")
if __name__ == "__main__":
# Simulieren der Umgebungsvariablen für diesen Testlauf, falls nicht gesetzt
@@ -54,26 +72,28 @@ if __name__ == "__main__":
if "COMPANY_EXPLORER_API_PASSWORD" not in os.environ:
os.environ["COMPANY_EXPLORER_API_PASSWORD"] = "gemini"
# Testfall 1: Ein Unternehmen, das wahrscheinlich bereits existiert
# Da 'Robo-Planet GmbH' bei den vorherigen Läufen erstellt wurde, sollte es jetzt gefunden werden.
run_trading_twins_process("Robo-Planet GmbH")
# Kurze Pause zwischen den Testläufen
time.sleep(5)
# Testfall 1b: Ein bekanntes, real existierendes Unternehmen
run_trading_twins_process("Klinikum Landkreis Erding")
# Kurze Pause zwischen den Testläufen
time.sleep(5)
# Testfall 2: Ein neues, eindeutiges Unternehmen
new_unique_company_name = f"Trading Twins New Target {int(time.time())}"
run_trading_twins_process(new_unique_company_name)
# Kurze Pause
time.sleep(5)
print("Trading Twins Tool - Main Menu")
print("1. Process specific company name")
print("2. Ingest leads from Email (info@robo-planet.de)")
print("3. Run demo sequence (Robo-Planet, Erding, etc.)")
# Testfall 3: Ein weiteres neues Unternehmen, um die Erstellung zu prüfen
another_new_company_name = f"Another Demo Corp {int(time.time())}"
run_trading_twins_process(another_new_company_name)
choice = input("\nSelect option (1-3): ").strip()
if choice == "1":
name = input("Enter company name: ").strip()
if name:
run_trading_twins_process(name)
elif choice == "2":
run_email_ingest()
elif choice == "3":
# Testfall 1: Ein Unternehmen, das wahrscheinlich bereits existiert
run_trading_twins_process("Robo-Planet GmbH")
time.sleep(2)
# Testfall 1b: Ein bekanntes, real existierendes Unternehmen
run_trading_twins_process("Klinikum Landkreis Erding")
time.sleep(2)
# Testfall 2: Ein neues, eindeutiges Unternehmen
new_unique_company_name = f"Trading Twins New Target {int(time.time())}"
run_trading_twins_process(new_unique_company_name)
else:
print("Invalid choice.")