Fix missing absolute group handling

This commit is contained in:
Zoe Roux 2025-05-31 13:06:21 +02:00
parent 9e3a9af0ef
commit 505427f0ff
No known key found for this signature in database

View File

@ -147,7 +147,6 @@ class TheMovieDatabase(Provider):
"append_to_response": "alternative_titles,videos,credits,keywords,images,translations", "append_to_response": "alternative_titles,videos,credits,keywords,images,translations",
}, },
) )
logger.debug("TMDb responded: %s", movie)
return Movie( return Movie(
slug=to_slug(movie["title"]), slug=to_slug(movie["title"]),
@ -279,7 +278,6 @@ class TheMovieDatabase(Provider):
"append_to_response": "alternative_titles,videos,credits,keywords,images,external_ids,translations", "append_to_response": "alternative_titles,videos,credits,keywords,images,external_ids,translations",
}, },
) )
logger.debug("TMDb responded: %s", serie)
return Serie( return Serie(
slug=to_slug(serie["name"]), slug=to_slug(serie["name"]),
@ -387,7 +385,6 @@ class TheMovieDatabase(Provider):
"append_to_response": "translations,images", "append_to_response": "translations,images",
}, },
) )
logger.debug("TMDb responded: %s", season)
return Season( return Season(
season_number=season["season_number"], season_number=season["season_number"],
@ -438,7 +435,7 @@ class TheMovieDatabase(Provider):
) )
# if it doesn't have 75% of all episodes, it's probably unmaintained. keep default order # if it doesn't have 75% of all episodes, it's probably unmaintained. keep default order
if group is None or group["episode_count"] < len(ret) // 1.5: if group is None or group["episode_count"] < len(ret) // 1.5:
return ret raise ProviderError("No valid absolute ordering group.")
# groups of groups (each `episode_group` contains a `group` that acts like a season) # groups of groups (each `episode_group` contains a `group` that acts like a season)
gog = await self._get(f"tv/episode_group/{group['id']}") gog = await self._get(f"tv/episode_group/{group['id']}")
@ -498,9 +495,10 @@ class TheMovieDatabase(Provider):
) )
) )
except Exception as e: except Exception as e:
logger.exception( if not isinstance(e, ProviderError):
"Could not retrieve absolute ordering information", exc_info=e logger.exception(
) "Could not retrieve absolute ordering information", exc_info=e
)
ret = sorted(ret, key=lambda ep: (ep.season_number, ep.episode_number)) ret = sorted(ret, key=lambda ep: (ep.season_number, ep.episode_number))
for order, ep in enumerate(ret): for order, ep in enumerate(ret):
ep.order = order + 1 ep.order = order + 1
@ -519,7 +517,6 @@ class TheMovieDatabase(Provider):
"append_to_response": "translations", "append_to_response": "translations",
}, },
) )
logger.debug("TMDb responded: %s", episode)
return Entry( return Entry(
kind="episode" if episode["season_number"] != 0 else "special", kind="episode" if episode["season_number"] != 0 else "special",
@ -561,7 +558,6 @@ class TheMovieDatabase(Provider):
"append_to_response": "images,translations", "append_to_response": "images,translations",
}, },
) )
logger.debug("TMDb responded: %s", collection)
return Collection( return Collection(
slug=to_slug(collection["name"]), slug=to_slug(collection["name"]),