Fix: Load series from DB on startup and save missing episodes when adding series
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user