Task 2: guard SeriesApp NFOService init on NFOServiceFactory fallback and document config-only TMDB API key support

This commit is contained in:
2026-04-19 18:46:30 +02:00
parent 2aa184c870
commit b10cce0489
4 changed files with 46 additions and 13 deletions

View File

@@ -171,23 +171,26 @@ class SeriesApp:
# Initialize empty list - series loaded later via load_series_from_list()
# No need to call _init_list_sync() anymore
# Initialize NFO service if TMDB API key is configured
# Initialize NFO service if a TMDB API key is configured
self.nfo_service: Optional[NFOService] = None
if settings.tmdb_api_key:
try:
from src.core.services.nfo_factory import get_nfo_factory
factory = get_nfo_factory()
self.nfo_service = factory.create()
logger.info("NFO service initialized successfully")
except (ValueError, Exception) as e: # pylint: disable=broad-except
logger.warning(
"Failed to initialize NFO service: %s", str(e)
)
self.nfo_service = None
try:
from src.core.services.nfo_factory import get_nfo_factory
factory = get_nfo_factory()
self.nfo_service = factory.create()
logger.info("NFO service initialized successfully")
except ValueError:
logger.info(
"NFO service not available — TMDB API key not configured"
)
self.nfo_service = None
except Exception as e: # pylint: disable=broad-except
logger.warning("Failed to initialize NFO service: %s", str(e))
self.nfo_service = None
logger.info(
"SeriesApp initialized for directory: %s",
directory_to_search
directory_to_search,
)
@property