fix: handle lifespan errors gracefully
- Add error tracking in lifespan context manager - Only cleanup services that were successfully initialized - Properly handle startup errors without breaking async context - Fixes RuntimeError: generator didn't stop after athrow()
This commit is contained in:
@@ -182,9 +182,11 @@ class SeriesManagerService:
|
||||
f"update: {serie_key}"
|
||||
)
|
||||
|
||||
# Create or update NFO file if configured
|
||||
# Create NFO file only if it doesn't exist and auto_create enabled
|
||||
if not nfo_exists and self.auto_create_nfo:
|
||||
logger.info(f"Creating NFO for '{serie_name}' ({serie_folder})")
|
||||
logger.info(
|
||||
f"Creating NFO for '{serie_name}' ({serie_folder})"
|
||||
)
|
||||
await self.nfo_service.create_tvshow_nfo(
|
||||
serie_name=serie_name,
|
||||
serie_folder=serie_folder,
|
||||
@@ -194,20 +196,10 @@ class SeriesManagerService:
|
||||
download_fanart=self.download_fanart
|
||||
)
|
||||
logger.info(f"Successfully created NFO for '{serie_name}'")
|
||||
|
||||
elif nfo_exists and self.update_on_scan:
|
||||
logger.info(f"Updating NFO for '{serie_name}' ({serie_folder})")
|
||||
try:
|
||||
await self.nfo_service.update_tvshow_nfo(
|
||||
serie_folder=serie_folder,
|
||||
download_media=True
|
||||
)
|
||||
logger.info(f"Successfully updated NFO for '{serie_name}'")
|
||||
except NotImplementedError:
|
||||
logger.warning(
|
||||
f"NFO update not yet implemented for '{serie_name}'. "
|
||||
"Delete tvshow.nfo to recreate."
|
||||
)
|
||||
elif nfo_exists:
|
||||
logger.debug(
|
||||
f"NFO exists for '{serie_name}', skipping download"
|
||||
)
|
||||
|
||||
except TMDBAPIError as e:
|
||||
logger.error(f"TMDB API error processing '{serie_name}': {e}")
|
||||
|
||||
Reference in New Issue
Block a user