Fix emit_progress AttributeError

Replace non-existent emit_progress calls with proper ProgressService methods:
- start_progress for starting operations
- update_progress for progress updates
- complete_progress for successful completion
- fail_progress for failures

Convert percentage-based updates to current/total based on ProgressService API
This commit is contained in:
2026-01-23 15:06:49 +01:00
parent f89649fe20
commit c586e9f69d
2 changed files with 42 additions and 72 deletions

View File

@@ -156,24 +156,34 @@ async def setup_auth(req: SetupRequest):
await perform_nfo_scan_if_needed(progress_service) await perform_nfo_scan_if_needed(progress_service)
# Send completion event # Send completion event
progress_service.emit_progress( from src.server.services.progress_service import ProgressType
await progress_service.start_progress(
progress_id="initialization_complete", progress_id="initialization_complete",
progress_type="system", progress_type=ProgressType.SYSTEM,
status="completed",
title="Initialization Complete", title="Initialization Complete",
total=100,
message="All initialization tasks completed successfully",
metadata={"initialization_complete": True}
)
await progress_service.complete_progress(
progress_id="initialization_complete",
message="All initialization tasks completed successfully", message="All initialization tasks completed successfully",
percent=100,
metadata={"initialization_complete": True} metadata={"initialization_complete": True}
) )
except Exception as e: except Exception as e:
# Send error event # Send error event
progress_service.emit_progress( from src.server.services.progress_service import ProgressType
await progress_service.start_progress(
progress_id="initialization_error", progress_id="initialization_error",
progress_type="error", progress_type=ProgressType.ERROR,
status="failed",
title="Initialization Failed", title="Initialization Failed",
total=100,
message=str(e), message=str(e),
percent=0, metadata={"initialization_complete": True, "error": str(e)}
)
await progress_service.fail_progress(
progress_id="initialization_error",
error_message=str(e),
metadata={"initialization_complete": True, "error": str(e)} metadata={"initialization_complete": True, "error": str(e)}
) )

View File

@@ -31,13 +31,13 @@ async def perform_initial_setup(progress_service=None):
# Send initial progress update # Send initial progress update
if progress_service: if progress_service:
progress_service.emit_progress( from src.server.services.progress_service import ProgressType
await progress_service.start_progress(
progress_id="series_sync", progress_id="series_sync",
progress_type="system", progress_type=ProgressType.SYSTEM,
status="started",
title="Syncing Series Database", title="Syncing Series Database",
total=100,
message="Checking initialization status...", message="Checking initialization status...",
percent=0,
metadata={"step_id": "series_sync"} metadata={"step_id": "series_sync"}
) )
@@ -53,13 +53,9 @@ async def perform_initial_setup(progress_service=None):
"Initial scan already completed, skipping data file sync" "Initial scan already completed, skipping data file sync"
) )
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.complete_progress(
progress_id="series_sync", progress_id="series_sync",
progress_type="system",
status="completed",
title="Syncing Series Database",
message="Already completed", message="Already completed",
percent=100,
metadata={"step_id": "series_sync"} metadata={"step_id": "series_sync"}
) )
return False return False
@@ -86,13 +82,9 @@ async def perform_initial_setup(progress_service=None):
"Initialization skipped - anime directory not configured" "Initialization skipped - anime directory not configured"
) )
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.complete_progress(
progress_id="series_sync", progress_id="series_sync",
progress_type="system",
status="completed",
title="Syncing Series Database",
message="No anime directory configured", message="No anime directory configured",
percent=100,
metadata={"step_id": "series_sync"} metadata={"step_id": "series_sync"}
) )
return False return False
@@ -101,13 +93,10 @@ async def perform_initial_setup(progress_service=None):
if not is_initial_scan_done: if not is_initial_scan_done:
logger.info("Performing initial anime folder scan...") logger.info("Performing initial anime folder scan...")
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.update_progress(
progress_id="series_sync", progress_id="series_sync",
progress_type="system", current=25,
status="in_progress",
title="Syncing Series Database",
message="Scanning anime folders...", message="Scanning anime folders...",
percent=25,
metadata={"step_id": "series_sync"} metadata={"step_id": "series_sync"}
) )
@@ -119,13 +108,10 @@ async def perform_initial_setup(progress_service=None):
) )
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.update_progress(
progress_id="series_sync", progress_id="series_sync",
progress_type="system", current=75,
status="in_progress",
title="Syncing Series Database",
message=f"Synced {sync_count} series from data files", message=f"Synced {sync_count} series from data files",
percent=75,
metadata={"step_id": "series_sync"} metadata={"step_id": "series_sync"}
) )
@@ -154,13 +140,9 @@ async def perform_initial_setup(progress_service=None):
logger.info("Series loaded from database into memory") logger.info("Series loaded from database into memory")
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.complete_progress(
progress_id="series_sync", progress_id="series_sync",
progress_type="system",
status="completed",
title="Syncing Series Database",
message="Series loaded into memory", message="Series loaded into memory",
percent=100,
metadata={"step_id": "series_sync"} metadata={"step_id": "series_sync"}
) )
@@ -181,13 +163,13 @@ async def perform_nfo_scan_if_needed(progress_service=None):
from src.server.database.system_settings_service import SystemSettingsService from src.server.database.system_settings_service import SystemSettingsService
if progress_service: if progress_service:
progress_service.emit_progress( from src.server.services.progress_service import ProgressType
await progress_service.start_progress(
progress_id="nfo_scan", progress_id="nfo_scan",
progress_type="system", progress_type=ProgressType.SYSTEM,
status="started",
title="Processing NFO Metadata", title="Processing NFO Metadata",
total=100,
message="Checking NFO scan status...", message="Checking NFO scan status...",
percent=0,
metadata={"step_id": "nfo_scan"} metadata={"step_id": "nfo_scan"}
) )
@@ -213,13 +195,10 @@ async def perform_nfo_scan_if_needed(progress_service=None):
logger.info("Performing initial NFO scan...") logger.info("Performing initial NFO scan...")
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.update_progress(
progress_id="nfo_scan", progress_id="nfo_scan",
progress_type="system", current=25,
status="in_progress",
title="Processing NFO Metadata",
message="Scanning series for NFO files...", message="Scanning series for NFO files...",
percent=25,
metadata={"step_id": "nfo_scan"} metadata={"step_id": "nfo_scan"}
) )
@@ -231,13 +210,10 @@ async def perform_nfo_scan_if_needed(progress_service=None):
manager = SeriesManagerService.from_settings() manager = SeriesManagerService.from_settings()
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.update_progress(
progress_id="nfo_scan", progress_id="nfo_scan",
progress_type="system", current=50,
status="in_progress",
title="Processing NFO Metadata",
message="Processing NFO files with TMDB data...", message="Processing NFO files with TMDB data...",
percent=50,
metadata={"step_id": "nfo_scan"} metadata={"step_id": "nfo_scan"}
) )
@@ -246,13 +222,9 @@ async def perform_nfo_scan_if_needed(progress_service=None):
logger.info("Initial NFO scan completed") logger.info("Initial NFO scan completed")
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.complete_progress(
progress_id="nfo_scan", progress_id="nfo_scan",
progress_type="system",
status="completed",
title="Processing NFO Metadata",
message="NFO scan completed successfully", message="NFO scan completed successfully",
percent=100,
metadata={"step_id": "nfo_scan"} metadata={"step_id": "nfo_scan"}
) )
@@ -276,13 +248,9 @@ async def perform_nfo_scan_if_needed(progress_service=None):
exc_info=True exc_info=True
) )
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.fail_progress(
progress_id="nfo_scan", progress_id="nfo_scan",
progress_type="system", error_message=f"NFO scan failed: {str(e)}",
status="failed",
title="Processing NFO Metadata",
message=f"NFO scan failed: {str(e)}",
percent=0,
metadata={"step_id": "nfo_scan"} metadata={"step_id": "nfo_scan"}
) )
else: else:
@@ -290,13 +258,9 @@ async def perform_nfo_scan_if_needed(progress_service=None):
"Skipping NFO scan - already completed on previous run" "Skipping NFO scan - already completed on previous run"
) )
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.complete_progress(
progress_id="nfo_scan", progress_id="nfo_scan",
progress_type="system",
status="completed",
title="Processing NFO Metadata",
message="Already completed", message="Already completed",
percent=100,
metadata={"step_id": "nfo_scan"} metadata={"step_id": "nfo_scan"}
) )
else: else:
@@ -309,13 +273,9 @@ async def perform_nfo_scan_if_needed(progress_service=None):
message = "Skipped - NFO features disabled" message = "Skipped - NFO features disabled"
if progress_service: if progress_service:
progress_service.emit_progress( await progress_service.complete_progress(
progress_id="nfo_scan", progress_id="nfo_scan",
progress_type="system",
status="completed",
title="Processing NFO Metadata",
message=message, message=message,
percent=100,
metadata={"step_id": "nfo_scan"} metadata={"step_id": "nfo_scan"}
) )
else: else: