brancheneinstufung2.py aktualisiert
This commit is contained in:
@@ -86,7 +86,7 @@ def main():
|
|||||||
formatter_class=argparse.RawTextHelpFormatter
|
formatter_class=argparse.RawTextHelpFormatter
|
||||||
)
|
)
|
||||||
mode_categories = {
|
mode_categories = {
|
||||||
"Daten-Synchronisation": ["sync"],
|
"Daten-Synchronisation": ["sync", "debug_sync"],
|
||||||
"Batch-Verarbeitung": ["wiki_verify", "website_scraping", "summarize_website", "branch_eval", "suggest_parents", "fsm_pitch"],
|
"Batch-Verarbeitung": ["wiki_verify", "website_scraping", "summarize_website", "branch_eval", "suggest_parents", "fsm_pitch"],
|
||||||
"Sequentielle Verarbeitung": ["full_run"],
|
"Sequentielle Verarbeitung": ["full_run"],
|
||||||
"Re-Evaluation": ["reeval"],
|
"Re-Evaluation": ["reeval"],
|
||||||
@@ -168,10 +168,24 @@ def main():
|
|||||||
# --- Modus-Dispatching ---
|
# --- Modus-Dispatching ---
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
|
|
||||||
if selected_mode == "sync":
|
if selected_mode == "debug_sync":
|
||||||
# --- SPEZIFISCHE LOGIK FÜR DEN SYNC-MODUS ---
|
# --- NEUER DEBUG-MODUS ---
|
||||||
logger.info("Führe Initialisierung für Sync-Modus durch...")
|
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():
|
if not sheet_handler.load_data():
|
||||||
logger.critical("Konnte initiale Daten aus dem Google Sheet nicht laden. Sync-Prozess wird abgebrochen.")
|
logger.critical("Konnte initiale Daten aus dem Google Sheet nicht laden. Sync-Prozess wird abgebrochen.")
|
||||||
return
|
return
|
||||||
@@ -179,25 +193,31 @@ def main():
|
|||||||
d365_file_path = args.sync_file
|
d365_file_path = args.sync_file
|
||||||
if not os.path.exists(d365_file_path):
|
if not os.path.exists(d365_file_path):
|
||||||
logger.critical(f"Export-Datei nicht gefunden: {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:
|
else:
|
||||||
sync_manager = SyncManager(sheet_handler, d365_file_path)
|
sync_manager = SyncManager(sheet_handler, d365_file_path)
|
||||||
sync_manager.run_sync()
|
sync_manager.run_sync()
|
||||||
|
|
||||||
|
# Ab hier beginnt die bisherige Logik für alle anderen Modi
|
||||||
else:
|
else:
|
||||||
# --- BISHERIGE LOGIK FÜR ALLE ANDEREN MODI ---
|
|
||||||
wiki_scraper = WikipediaScraper()
|
wiki_scraper = WikipediaScraper()
|
||||||
data_processor = DataProcessor(sheet_handler=sheet_handler, wiki_scraper=wiki_scraper)
|
data_processor = DataProcessor(sheet_handler=sheet_handler, wiki_scraper=wiki_scraper)
|
||||||
|
|
||||||
|
# --- Modul-Versionen loggen (NACH der Initialisierung) ---
|
||||||
modules_to_log = {
|
modules_to_log = {
|
||||||
"DataProcessor": data_processor, "GoogleSheetHandler": google_sheet_handler,
|
"DataProcessor": data_processor,
|
||||||
"WikipediaScraper": wikipedia_scraper, "Helpers": helpers
|
"GoogleSheetHandler": google_sheet_handler,
|
||||||
|
"WikipediaScraper": wikipedia_scraper,
|
||||||
|
"Helpers": helpers
|
||||||
}
|
}
|
||||||
log_module_versions(modules_to_log)
|
log_module_versions(modules_to_log)
|
||||||
|
# --- Ende Version-Logging ---
|
||||||
|
|
||||||
|
# Expliziter Setup-Aufruf, nachdem alle Konfigurationen geladen sind.
|
||||||
if not data_processor.setup():
|
if not data_processor.setup():
|
||||||
logger.critical("Setup des DataProcessors fehlgeschlagen. Das Skript wird beendet.")
|
logger.critical("Setup des DataProcessors fehlgeschlagen. Das Skript wird beendet.")
|
||||||
return
|
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)
|
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":
|
if selected_mode == "full_run":
|
||||||
|
|||||||
Reference in New Issue
Block a user