From bf3954587a295fe5ee949b85735e1fb3bbc4380a Mon Sep 17 00:00:00 2001 From: Lukas Date: Tue, 2 Jun 2026 20:09:47 +0200 Subject: [PATCH] fix(folder_rename_service): use get_by_folder instead of get_by_key when looking up by folder name Update_database_paths and duplicate folder cleanup were using get_by_key() (provider key lookup) instead of get_by_folder() when operating on folder names. This caused orphaned DB records when removing duplicate folders like 'Hells Paradise' that mapped to an already-existing 'Hell\'s Paradise (2023)'. --- src/server/services/folder_rename_service.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/services/folder_rename_service.py b/src/server/services/folder_rename_service.py index cb8c0e9..c2f5a7c 100644 --- a/src/server/services/folder_rename_service.py +++ b/src/server/services/folder_rename_service.py @@ -403,7 +403,7 @@ async def _update_database_paths( async with get_db_session() as db: # 1. Update AnimeSeries.folder - series = await AnimeSeriesService.get_by_key(db, old_folder) + series = await AnimeSeriesService.get_by_folder(db, old_folder) if series is None: # Fallback: try to find by folder name all_series = await AnimeSeriesService.get_all(db) @@ -615,7 +615,7 @@ async def validate_and_rename_series_folders(dry_run: bool = False) -> Dict[str, # Delete source DB record (cascades to episodes and download items) async with get_db_session() as db: - source_series = await AnimeSeriesService.get_by_key(db, current_name) + source_series = await AnimeSeriesService.get_by_folder(db, current_name) if source_series is None: # Fallback: find by folder name all_series = await AnimeSeriesService.get_all(db)