Fix: Load series from DB on startup and save missing episodes when adding series

This commit is contained in:
2026-01-18 16:08:30 +01:00
parent ea9e959a7b
commit 2495b07fc4
2 changed files with 25 additions and 0 deletions

View File

@@ -868,6 +868,25 @@ async def add_series(
if hasattr(series_app, "list") and hasattr(series_app.list, "keyDict"):
if key in series_app.list.keyDict:
series_app.list.keyDict[key].episodeDict = missing_episodes
# Save missing episodes to database
if db is not None and missing_episodes:
from src.server.database.service import EpisodeService
for season, episode_numbers in missing_episodes.items():
for episode_number in episode_numbers:
await EpisodeService.create(
db=db,
series_id=db_id,
season=season,
episode_number=episode_number,
)
logger.info(
"Saved %d missing episodes to database for %s",
sum(len(eps) for eps in missing_episodes.values()),
key
)
else:
# Scanner not available - this shouldn't happen in normal operation
logger.warning(

View File

@@ -145,6 +145,12 @@ async def lifespan(_application: FastAPI):
"Data file sync complete. Added %d series.", sync_count
)
# Load series from database into SeriesApp's in-memory cache
from src.server.utils.dependencies import get_anime_service
anime_service = get_anime_service()
await anime_service._load_series_from_db()
logger.info("Series loaded from database into memory")
# Now initialize download service (will use data from database)
from src.server.utils.dependencies import get_download_service
download_service = get_download_service()