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")