From 316fa42072978645c089857074e097a854913dc9 Mon Sep 17 00:00:00 2001 From: tvdb-kodi-ci Date: Wed, 30 Aug 2023 03:21:34 +0000 Subject: [PATCH] [metadata.tvshows.thetvdb.com.v4.python] 1.1.6 --- metadata.tvshows.thetvdb.com.v4.python/addon.xml | 4 ++-- .../resources/lib/tvdb.py | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/metadata.tvshows.thetvdb.com.v4.python/addon.xml b/metadata.tvshows.thetvdb.com.v4.python/addon.xml index fea2045ef..3d98de2e1 100644 --- a/metadata.tvshows.thetvdb.com.v4.python/addon.xml +++ b/metadata.tvshows.thetvdb.com.v4.python/addon.xml @@ -1,6 +1,6 @@ + version="1.1.6" provider-name="TVDB Team"> @@ -121,6 +121,6 @@ media/screenshot-2.jpg media/screenshot-3.jpg - - 1.1.5: Fix airs after season error and turn on reuselanguageinvoker + - 1.1.6: Use artworks data for season posters instead of season image \ No newline at end of file diff --git a/metadata.tvshows.thetvdb.com.v4.python/resources/lib/tvdb.py b/metadata.tvshows.thetvdb.com.v4.python/resources/lib/tvdb.py index d527910ec..27faef340 100644 --- a/metadata.tvshows.thetvdb.com.v4.python/resources/lib/tvdb.py +++ b/metadata.tvshows.thetvdb.com.v4.python/resources/lib/tvdb.py @@ -16,6 +16,7 @@ class ArtworkType(enum.IntEnum): POSTER = 2 BACKGROUND = 3 ICON = 5 + SEASONPOSTER = 7 CLEARART = 22 CLEARLOGO = 23 @@ -548,12 +549,14 @@ def sorter(item): return 0, score artworks = show.get("artworks", [{}]) + seasons = show.get("seasons", [{}]) banners = [] posters = [] fanarts = [] icons = [] cleararts = [] clearlogos = [] + season_posters = [] for art in artworks: art_type = art.get('type') if art_type == ArtworkType.BANNER: @@ -568,11 +571,15 @@ def sorter(item): cleararts.append(art) elif art_type == ArtworkType.CLEARLOGO: clearlogos.append(art) + elif art_type == ArtworkType.SEASONPOSTER: + season_id = art.get("seasonId", -1) + season = next((season for season in seasons if season.get("id", -2) == season_id), None) + if season: + season_posters.append( (art.get("image", ""), season.get("number", 0) ) ) + banners.sort(key=sorter, reverse=True) posters.sort(key=sorter, reverse=True) fanarts.sort(key=sorter, reverse=True) - season_posters = [(season.get("image", ""), season.get("number", 0)) - for season in show.get("seasons", [])] artwork_dict = { 'banner': banners, 'poster': posters,