diff --git a/media_manager/metadataProvider/tmdb.py b/media_manager/metadataProvider/tmdb.py index a231e93..16c1c0f 100644 --- a/media_manager/metadataProvider/tmdb.py +++ b/media_manager/metadataProvider/tmdb.py @@ -278,16 +278,14 @@ class TmdbMetadataProvider(AbstractMetadataProvider): season_number=season["season_number"], language=language, ) - episode_list = [] - - for episode in season_metadata["episodes"]: - episode_list.append( - Episode( - external_id=int(episode["id"]), - title=episode["name"], - number=EpisodeNumber(episode["episode_number"]), - ) + episode_list = [ + Episode( + external_id=int(episode["id"]), + title=episode["name"], + number=EpisodeNumber(episode["episode_number"]), ) + for episode in season_metadata["episodes"] + ] season_list.append( Season( diff --git a/media_manager/movies/service.py b/media_manager/movies/service.py index 76c5815..6c38f60 100644 --- a/media_manager/movies/service.py +++ b/media_manager/movies/service.py @@ -319,14 +319,15 @@ class MovieService: :param metadata_provider: The metadata provider to use. :return: A list of metadata provider movie search results. """ - results: list[MetaDataProviderSearchResult] = metadata_provider.search_movie() + results = metadata_provider.search_movie() - filtered_results = [] - for result in results: + filtered_results = [ + result + for result in results if not self.check_if_movie_exists( external_id=result.external_id, metadata_provider=metadata_provider.name - ): - filtered_results.append(result) + ) + ] return filtered_results @@ -613,7 +614,6 @@ class MovieService: """ video_files, subtitle_files, _all_files = get_files_for_import(torrent=torrent) - success: list[bool] = [] if len(video_files) != 1: # Send notification about multiple video files found @@ -638,15 +638,12 @@ class MovieService: f"Found {len(movie_files)} movie files associated with torrent {torrent.title}" ) - for movie_file in movie_files: - success.append( - self.import_movie( - movie=movie, - video_files=video_files, - subtitle_files=subtitle_files, - file_path_suffix=movie_file.file_path_suffix, - ) + success = [ + self.import_movie( + movie, video_files, subtitle_files, movie_file.file_path_suffix ) + for movie_file in movie_files + ] if all(success): torrent.imported = True diff --git a/media_manager/torrent/utils.py b/media_manager/torrent/utils.py index a8954ba..ee2c3d6 100644 --- a/media_manager/torrent/utils.py +++ b/media_manager/torrent/utils.py @@ -216,20 +216,22 @@ def remove_special_chars_and_parentheses(title: str) -> str: def get_importable_media_directories(path: Path) -> list[Path]: - libraries = [] - libraries.extend(MediaManagerConfig().misc.movie_libraries) - libraries.extend(MediaManagerConfig().misc.tv_libraries) + libraries = [ + *MediaManagerConfig().misc.movie_libraries, + *MediaManagerConfig().misc.tv_libraries, + ] library_paths = {Path(library.path).absolute() for library in libraries} unfiltered_dirs = [d for d in path.glob("*") if d.is_dir()] - media_dirs = [] - for media_dir in unfiltered_dirs: - if media_dir.absolute() not in library_paths and not media_dir.name.startswith( - "." - ): - media_dirs.append(media_dir) + media_dirs = [ + media_dir + for media_dir in unfiltered_dirs + if media_dir.absolute() not in library_paths + and not media_dir.name.startswith(".") + ] + return media_dirs diff --git a/media_manager/tv/service.py b/media_manager/tv/service.py index 26276ee..dad7229 100644 --- a/media_manager/tv/service.py +++ b/media_manager/tv/service.py @@ -267,10 +267,9 @@ class TvService: show=show, season_number=season_number ) - results: list[IndexerQueryResult] = [] - for torrent in torrents: - if season_number in torrent.season: - results.append(torrent) + results = [ + torrent for torrent in torrents if season_number in torrent.season + ] return evaluate_indexer_query_results( is_tv=True, query_results=results, media=show @@ -322,14 +321,15 @@ class TvService: :param metadata_provider: The metadata provider to use. :return: A list of metadata provider show search results. """ - results: list[MetaDataProviderSearchResult] = metadata_provider.search_show() + results = metadata_provider.search_show() - filtered_results = [] - for result in results: + filtered_results = [ + result + for result in results if not self.check_if_show_exists( external_id=result.external_id, metadata_provider=metadata_provider.name - ): - filtered_results.append(result) + ) + ] return filtered_results @@ -849,16 +849,15 @@ class TvService: log.debug( f"Adding new season {fresh_season_data.number} to show {db_show.name}" ) - episodes_for_schema = [] - for ep_data in fresh_season_data.episodes: - episodes_for_schema.append( - EpisodeSchema( - id=EpisodeId(ep_data.id), - number=ep_data.number, - external_id=ep_data.external_id, - title=ep_data.title, - ) + episodes_for_schema = [ + EpisodeSchema( + id=EpisodeId(ep_data.id), + number=ep_data.number, + external_id=ep_data.external_id, + title=ep_data.title, ) + for ep_data in fresh_season_data.episodes + ] season_schema = Season( id=SeasonId(fresh_season_data.id), diff --git a/ruff.toml b/ruff.toml index 21d18b4..017008a 100644 --- a/ruff.toml +++ b/ruff.toml @@ -5,7 +5,7 @@ line-ending = "lf" quote-style = "double" [lint] -# to be enabled: ANN, BLE, C90, CPY, D, DOC, DTZ, FBT, G, PERF, PIE, PL, PTH, RET, RSE, SLF, SIM, TC, TRY, UP +# to be enabled: ANN, BLE, C90, CPY, D, DOC, DTZ, FBT, G, PIE, PL, PTH, RET, RSE, SLF, SIM, TC, TRY, UP extend-select = [ "A", "ARG", "ASYNC", "B", @@ -16,7 +16,7 @@ extend-select = [ "I", "ICN", "INP", "INT", "ISC", "LOG", "N", - "PGH", "PT", "PYI", + "PERF", "PGH", "PT", "PYI", "Q", "RUF", "S", "SLOT",