From 08bb1ccbf24d77b06150a7334d1173f7f461e101 Mon Sep 17 00:00:00 2001 From: Antoine Date: Sun, 28 Apr 2024 20:31:30 +0200 Subject: [PATCH] scanner: supports tmdb episode groups with multiple groups (#447) --- scanner/providers/implementations/themoviedatabase.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scanner/providers/implementations/themoviedatabase.py b/scanner/providers/implementations/themoviedatabase.py index 92382329..fe227528 100644 --- a/scanner/providers/implementations/themoviedatabase.py +++ b/scanner/providers/implementations/themoviedatabase.py @@ -562,6 +562,8 @@ class TheMovieDatabase(Provider): try: groups = await self.get(f"tv/{show_id}/episode_groups") ep_count = max((x["episode_count"] for x in groups["results"]), default=0) + if ep_count == 0: + return None # Filter only absolute groups that contains at least 75% of all episodes (to skip non maintained absolute ordering) group_id = next( ( @@ -575,8 +577,7 @@ class TheMovieDatabase(Provider): if group_id is None: return None group = await self.get(f"tv/episode_group/{group_id}") - grp = next(iter(group["groups"]), None) - return grp["episodes"] if grp else None + return [ep for grp in group["groups"] for ep in grp["episodes"]] except Exception as e: logger.exception( "Could not retrieve absolute ordering information", exc_info=e