diff --git a/jellyfin_kodi/entrypoint/default.py b/jellyfin_kodi/entrypoint/default.py index 91a354e1..bf041dfc 100644 --- a/jellyfin_kodi/entrypoint/default.py +++ b/jellyfin_kodi/entrypoint/default.py @@ -920,18 +920,27 @@ def get_next_episodes(item_id, limit): if not library: return - result = JSONRPC("VideoLibrary.GetTVShows").execute( - { - "sort": {"order": "descending", "method": "lastplayed"}, - "filter": { - "and": [ - {"operator": "true", "field": "inprogress", "value": ""}, - {"operator": "is", "field": "tag", "value": "%s" % library}, - ] - }, - "properties": ["title", "studio", "mpaa", "file", "art"], - } - ) + max_days = settings("maxDaysInNextEpisodes") + params = { + "sort": {"order": "descending", "method": "lastplayed"}, + "filter": { + "and": [ + {"operator": "true", "field": "inprogress", "value": ""}, + {"operator": "is", "field": "tag", "value": "%s" % library}, + ] + }, + "properties": ["title", "studio", "mpaa", "file", "art"], + } + if max_days != 0: + params["filter"]["and"].append( + { + "operator": "inthelast", + "field": "lastplayed", + "value": "%s days" % max_days, + } + ) + + result = JSONRPC("VideoLibrary.GetTVShows").execute(params) try: items = result["result"]["tvshows"] diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 57e92fd9..67314e07 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -357,6 +357,10 @@ msgctxt "#30537" msgid "Transcode Hi10P" msgstr "Transcode Hi10P" +msgctxt "#30538" +msgid "Max days in next episodes" +msgstr "Max days in next episodes + msgctxt "#30539" msgid "Login" msgstr "Login" diff --git a/resources/settings.xml b/resources/settings.xml index 91bc5f83..5996de35 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -96,6 +96,7 @@ <category label="33109"> <!-- Plugin --> + <setting id="maxDaysInNextEpisodes" label="30538" type="slider" default="366" range="0, 1, 732" option="int" /> <setting id="ignoreSpecialsNextEpisodes" type="bool" label="30527" default="false" /> <setting id="getCast" type="bool" label="33124" default="false" /> <setting id="remoteControl" type="bool" label="33125" default="true" />