diff --git a/resources/lib/kodiutils.py b/resources/lib/kodiutils.py index d1daad8..ec0728c 100644 --- a/resources/lib/kodiutils.py +++ b/resources/lib/kodiutils.py @@ -49,6 +49,12 @@ _LOGGER = logging.getLogger(__name__) +state = { + "program_title": None, + "episode_title": None, + "season": None, + "episode": None +} class TitleItem: """ This helper object holds all information to be used with Kodi xbmc's ListItem object """ diff --git a/resources/lib/modules/catalog.py b/resources/lib/modules/catalog.py index f5481ee..38c839b 100644 --- a/resources/lib/modules/catalog.py +++ b/resources/lib/modules/catalog.py @@ -70,6 +70,7 @@ def show_program(self, uuid): kodiutils.end_of_directory() return + kodiutils.state["program_title"] = program.title # Go directly to the season when we have only one season if len(program.seasons) == 1: self.show_season(list(program.seasons.values())[0].uuid) diff --git a/resources/lib/modules/menu.py b/resources/lib/modules/menu.py index ec9b707..d03ce15 100644 --- a/resources/lib/modules/menu.py +++ b/resources/lib/modules/menu.py @@ -167,6 +167,17 @@ def generate_titleitem(item): # Episode # if isinstance(item, Episode): + if not item.program_title: + item.program_title = kodiutils.state["program_title"] + + if not item.season: + import re + m = re.match(r"[sS](\d+)[-]?[aA](\d+)", item.title) + _LOGGER.info(f'm is {m}') + if m: + item.season=int(m.group(1)) + item.number=int(m.group(2)) + info_dict.update({ 'mediatype': 'episode', 'tvshowtitle': item.program_title,