brancheneinstufung2.py aktualisiert

This commit is contained in:
2025-08-28 07:00:48 +00:00
parent c6a1dc3984
commit bd1588b281

View File

@@ -86,7 +86,7 @@ def main():
formatter_class=argparse.RawTextHelpFormatter
)
mode_categories = {
"Daten-Synchronisation": ["sync"],
"Daten-Synchronisation": ["sync", "debug_sync"],
"Batch-Verarbeitung": ["wiki_verify", "website_scraping", "summarize_website", "branch_eval", "suggest_parents", "fsm_pitch"],
"Sequentielle Verarbeitung": ["full_run"],
"Re-Evaluation": ["reeval"],
@@ -168,10 +168,24 @@ def main():
# --- Modus-Dispatching ---
start_time = time.time()
if selected_mode == "sync":
# --- SPEZIFISCHE LOGIK FÜR DEN SYNC-MODUS ---
if selected_mode == "debug_sync":
# --- NEUER DEBUG-MODUS ---
logger.info("Führe Initialisierung für Sync-Debug-Modus durch...")
if not sheet_handler.load_data():
logger.critical("Konnte initiale Daten aus dem Google Sheet nicht laden. Debug-Prozess wird abgebrochen.")
return
d365_file_path = args.sync_file
if not os.path.exists(d365_file_path):
logger.critical(f"Export-Datei nicht gefunden: {d365_file_path}")
else:
# Wir übergeben den sheet_handler, um eine erneute Verbindung zu vermeiden
sync_manager = SyncManager(sheet_handler, d365_file_path)
sync_manager.debug_sync() # Aufruf der neuen Debug-Funktion
# Der elif-Block für den regulären Sync
elif selected_mode == "sync":
logger.info("Führe Initialisierung für Sync-Modus durch...")
if not sheet_handler.load_data():
logger.critical("Konnte initiale Daten aus dem Google Sheet nicht laden. Sync-Prozess wird abgebrochen.")
return
@@ -179,25 +193,31 @@ def main():
d365_file_path = args.sync_file
if not os.path.exists(d365_file_path):
logger.critical(f"Export-Datei nicht gefunden: {d365_file_path}")
print(f"\n! FEHLER: Die angegebene Sync-Datei wurde nicht gefunden: {d365_file_path}")
else:
sync_manager = SyncManager(sheet_handler, d365_file_path)
sync_manager.run_sync()
# Ab hier beginnt die bisherige Logik für alle anderen Modi
else:
# --- BISHERIGE LOGIK FÜR ALLE ANDEREN MODI ---
wiki_scraper = WikipediaScraper()
data_processor = DataProcessor(sheet_handler=sheet_handler, wiki_scraper=wiki_scraper)
# --- Modul-Versionen loggen (NACH der Initialisierung) ---
modules_to_log = {
"DataProcessor": data_processor, "GoogleSheetHandler": google_sheet_handler,
"WikipediaScraper": wikipedia_scraper, "Helpers": helpers
"DataProcessor": data_processor,
"GoogleSheetHandler": google_sheet_handler,
"WikipediaScraper": wikipedia_scraper,
"Helpers": helpers
}
log_module_versions(modules_to_log)
# --- Ende Version-Logging ---
# Expliziter Setup-Aufruf, nachdem alle Konfigurationen geladen sind.
if not data_processor.setup():
logger.critical("Setup des DataProcessors fehlgeschlagen. Das Skript wird beendet.")
return
# --- Modus-Dispatching für die restlichen Modi ---
steps_to_run_set = set(step.strip().lower() for step in args.steps.split(',') if step.strip() in valid_steps) if args.steps else set(valid_steps)
if selected_mode == "full_run":