ruff: enable PERF lint

this complains a lot about using manual append where a list
comprehension would be more suitable
This commit is contained in:
Marcel Hellwig
2026-01-05 13:08:04 +01:00
parent 7182344036
commit f2141ca8b8
5 changed files with 48 additions and 52 deletions

View File

@@ -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(

View File

@@ -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

View File

@@ -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

View File

@@ -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),

View File

@@ -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",