fix add issue

This commit is contained in:
2025-11-02 15:42:51 +01:00
parent 5c88572ac7
commit 5c4bd3d7e8
4 changed files with 95 additions and 17 deletions

View File

@@ -5,14 +5,13 @@ from functools import lru_cache
from typing import List, Optional
import structlog
from fastapi import Depends
from src.core.SeriesApp import SeriesApp
from src.server.services.progress_service import (
ProgressService,
ProgressType,
get_progress_service,
)
from src.server.utils.dependencies import get_series_app
logger = structlog.get_logger(__name__)
@@ -32,19 +31,20 @@ class AnimeService:
def __init__(
self,
directory: str,
series_app: SeriesApp,
progress_service: Optional[ProgressService] = None,
):
self._directory = directory
self._app = series_app
self._directory = series_app.directory_to_search
self._progress_service = progress_service or get_progress_service()
# Initialize SeriesApp with async methods
# Subscribe to SeriesApp events
# Note: Events library uses assignment (=), not += operator
try:
self._app = Depends(get_series_app)
# Subscribe to SeriesApp events
self._app.download_status += self._on_download_status
self._app.scan_status += self._on_scan_status
self._app.download_status = self._on_download_status
self._app.scan_status = self._on_scan_status
logger.debug("Successfully subscribed to SeriesApp events")
except Exception as e:
logger.exception("Failed to initialize SeriesApp")
logger.exception("Failed to subscribe to SeriesApp events")
raise AnimeServiceError("Initialization failed") from e
def _on_download_status(self, args) -> None:
@@ -237,6 +237,6 @@ class AnimeService:
raise AnimeServiceError("Download failed") from exc
def get_anime_service(directory: str = "./") -> AnimeService:
"""Factory used by FastAPI dependency injection."""
return AnimeService(directory)
def get_anime_service(series_app: SeriesApp) -> AnimeService:
"""Factory used for creating AnimeService with a SeriesApp instance."""
return AnimeService(series_app)