fix: support missing/no-episodes library filters (API, UI, docs, tests)
This commit is contained in:
@@ -524,19 +524,20 @@ class AnimeService:
|
||||
"series_id": db_series.id,
|
||||
}
|
||||
|
||||
# If filter is "no_episodes", get series with no
|
||||
# downloaded episodes
|
||||
if filter_type == "no_episodes":
|
||||
# Use service method to get series with
|
||||
# undownloaded episodes
|
||||
series_no_downloads = (
|
||||
await AnimeSeriesService
|
||||
.get_series_with_no_episodes(db)
|
||||
# If filter is "missing_episodes", get series with any missing episodes
|
||||
if filter_type == "missing_episodes":
|
||||
series_missing = (
|
||||
await AnimeSeriesService.get_series_with_missing_episodes(db)
|
||||
)
|
||||
series_with_no_episodes = {
|
||||
s.folder for s in series_no_downloads
|
||||
}
|
||||
|
||||
series_with_missing_episodes = {s.folder for s in series_missing}
|
||||
|
||||
# If filter is "no_episodes", get series with no downloaded episodes
|
||||
if filter_type == "no_episodes":
|
||||
series_no_downloads = (
|
||||
await AnimeSeriesService.get_series_with_no_episodes(db)
|
||||
)
|
||||
series_with_no_episodes = {s.folder for s in series_no_downloads}
|
||||
|
||||
# Build result list with enriched metadata
|
||||
result_list = []
|
||||
for serie in series:
|
||||
@@ -545,8 +546,11 @@ class AnimeService:
|
||||
site = getattr(serie, "site", "")
|
||||
folder = getattr(serie, "folder", "")
|
||||
episode_dict = getattr(serie, "episodeDict", {}) or {}
|
||||
|
||||
|
||||
# Apply filter if specified
|
||||
if filter_type == "missing_episodes":
|
||||
if folder not in series_with_missing_episodes:
|
||||
continue
|
||||
if filter_type == "no_episodes":
|
||||
if folder not in series_with_no_episodes:
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user