From 3128c68ecb400df8428e2ff695745c851e5d72ce Mon Sep 17 00:00:00 2001 From: maxid Date: Sun, 7 Dec 2025 21:09:15 +0100 Subject: [PATCH] return error on failed movie import --- media_manager/movies/router.py | 7 +++++-- media_manager/movies/service.py | 12 ++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/media_manager/movies/router.py b/media_manager/movies/router.py index 66dcb1f..3b0fd33 100644 --- a/media_manager/movies/router.py +++ b/media_manager/movies/router.py @@ -15,7 +15,6 @@ from media_manager.schemas import MediaImportSuggestion from media_manager.torrent.utils import detect_unknown_media from media_manager.torrent.schemas import Torrent from media_manager.movies import log -from media_manager.exceptions import MediaAlreadyExists from media_manager.movies.schemas import ( Movie, MovieRequest, @@ -114,7 +113,11 @@ def import_detected_movie( ): raise HTTPException(status.HTTP_400_BAD_REQUEST, "No such directory") movie = movie_service.get_movie_by_id(movie_id=movie_id) - movie_service.import_existing_movie(movie=movie, source_directory=source_directory) + success = movie_service.import_existing_movie( + movie=movie, source_directory=source_directory + ) + if not success: + raise HTTPException(status.HTTP_400_BAD_REQUEST, "Error on importing") @router.get( diff --git a/media_manager/movies/service.py b/media_manager/movies/service.py index 142ff36..489aae0 100644 --- a/media_manager/movies/service.py +++ b/media_manager/movies/service.py @@ -600,7 +600,7 @@ class MovieService: ) return import_candidates - def import_existing_movie(self, movie: Movie, source_directory: Path) -> None: + def import_existing_movie(self, movie: Movie, source_directory: Path) -> bool: video_files, subtitle_files, all_files = get_files_for_import( directory=source_directory ) @@ -612,11 +612,19 @@ class MovieService: file_path_suffix="IMPORTED", ) if success: - self.movie_repository.add_movie_file(MovieFile(movie_id=movie.id,file_path_suffix="IMPORTED", torrent_id=None, quality=Quality.unknown)) + self.movie_repository.add_movie_file( + MovieFile( + movie_id=movie.id, + file_path_suffix="IMPORTED", + torrent_id=None, + quality=Quality.unknown, + ) + ) new_source_path = source_directory.parent / ("." + source_directory.name) source_directory.rename(new_source_path) + return success def update_movie_metadata( self, db_movie: Movie, metadata_provider: AbstractMetadataProvider