From 50f2062a1f06a72eb24309b157521dd11b0cc549 Mon Sep 17 00:00:00 2001 From: stabbedbybrick <125766685+stabbedbybrick@users.noreply.github.com> Date: Mon, 9 Dec 2024 10:53:59 +0100 Subject: [PATCH] fix(ITV): Add "other episodes" listing and episode counter --- services/ITV/__init__.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/services/ITV/__init__.py b/services/ITV/__init__.py index d8a6e57..7c55363 100644 --- a/services/ITV/__init__.py +++ b/services/ITV/__init__.py @@ -164,11 +164,10 @@ class ITV(Service): # Some shows are not listed as "SERIES" or "FILM", only as "Latest episodes" if not kind and next( - (x for x in data.get("seriesList") if x.get("seriesLabel").lower() == "latest episodes"), None + (x for x in data.get("seriesList") if x.get("seriesLabel").lower() in ("latest episodes", "other episodes")), None ): titles = data["seriesList"][0]["titles"] - return Series( - [ + episodes =[ Episode( id_=episode["episodeId"], service=self.__class__, @@ -181,7 +180,13 @@ class ITV(Service): ) for episode in titles ] - ) + # Assign episode numbers to special seasons + counter = 1 + for episode in episodes: + if episode.season == 0 and episode.number == 0: + episode.number = counter + counter += 1 + return Series(episodes) if kind == "SERIES" and data.get("episode"): episode = data.get("episode")