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 hasattr(series_app, "list") and hasattr(series_app.list, "keyDict"):
|
||||||
if key in series_app.list.keyDict:
|
if key in series_app.list.keyDict:
|
||||||
series_app.list.keyDict[key].episodeDict = missing_episodes
|
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:
|
else:
|
||||||
# Scanner not available - this shouldn't happen in normal operation
|
# Scanner not available - this shouldn't happen in normal operation
|
||||||
logger.warning(
|
logger.warning(
|
||||||
|
|||||||
@@ -145,6 +145,12 @@ async def lifespan(_application: FastAPI):
|
|||||||
"Data file sync complete. Added %d series.", sync_count
|
"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)
|
# Now initialize download service (will use data from database)
|
||||||
from src.server.utils.dependencies import get_download_service
|
from src.server.utils.dependencies import get_download_service
|
||||||
download_service = get_download_service()
|
download_service = get_download_service()
|
||||||
|
|||||||
Reference in New Issue
Block a user