From 685ec45fc0aed5ff7eafce8606e21de7982aeebd Mon Sep 17 00:00:00 2001 From: sfaulds Date: Tue, 27 Jun 2017 19:56:02 +1000 Subject: [PATCH] move ItemLimit to be a dynamic url replaced variable to allow saved links to use the settings at load time use the setting name for the name format so it can be loaded when the content is loaded --- resources/lib/downloadutils.py | 4 +++ resources/lib/functions.py | 12 +++---- resources/lib/menu_functions.py | 59 ++++++++++++++++----------------- 3 files changed, 38 insertions(+), 37 deletions(-) diff --git a/resources/lib/downloadutils.py b/resources/lib/downloadutils.py index 5bfb9d5..7f2ecc8 100644 --- a/resources/lib/downloadutils.py +++ b/resources/lib/downloadutils.py @@ -277,6 +277,7 @@ class DownloadUtils(): def downloadUrl(self, url, suppress=False, postBody=None, method="GET", popup=0, authenticate=True): log.info("downloadUrl") + settings = xbmcaddon.Addon(id='plugin.video.embycon') log.debug(url) if url.find("{server}") != -1: @@ -285,6 +286,9 @@ class DownloadUtils(): if url.find("{userid}") != -1: userid = self.getUserId() url = url.replace("{userid}", userid) + if url.find("{ItemLimit}") != -1: + show_x_filtered_items = settings.getSetting("show_x_filtered_items") + url = url.replace("{ItemLimit}", show_x_filtered_items) log.debug(url) return_data = "null" diff --git a/resources/lib/functions.py b/resources/lib/functions.py index 5132e8a..4eacd1c 100644 --- a/resources/lib/functions.py +++ b/resources/lib/functions.py @@ -602,14 +602,14 @@ def getContent(url, params): def processDirectory(results, progress, params): log.info("== ENTER: processDirectory ==") + settings = xbmcaddon.Addon(id='plugin.video.embycon') + server = downloadUtils.getServer() + detailsString = getDetailsString() + name_format = params.get("name_format", None) if name_format is not None: name_format = urllib.unquote(name_format) - - settings = xbmcaddon.Addon(id='plugin.video.embycon') - server = downloadUtils.getServer() - - detailsString = getDetailsString() + name_format = settings.getSetting(name_format) dirItems = [] result = results.get("Items") @@ -711,7 +711,7 @@ def processDirectory(results, progress, params): airtime = item.get("AirTime") tempTitle = tempTitle + ' - ' + str(premieredate) + ' - ' + str(airtime) - # Process MediaStreams + # Process MediaStreams channels = '' videocodec = '' audiocodec = '' diff --git a/resources/lib/menu_functions.py b/resources/lib/menu_functions.py index e187907..70a6b71 100644 --- a/resources/lib/menu_functions.py +++ b/resources/lib/menu_functions.py @@ -170,9 +170,6 @@ def getCollections(detailsString): if settings.getSetting('show_collections') == "true": show_collections = "true" - show_x_filtered_items = settings.getSetting("show_x_filtered_items") - filtered_episode_format = settings.getSetting("episode_name_format") - userid = downloadUtils.getUserId() if userid == None or len(userid) == 0: @@ -247,7 +244,7 @@ def getCollections(detailsString): 'thumbnail': downloadUtils.getArtwork(item, "Primary", server=server), 'path': ('{server}/emby/Users/{userid}/Items' + '?ParentId=' + item.get("Id") + - '&Limit=' + show_x_filtered_items + + '&Limit={ItemLimit}' + '&IsVirtualUnaired=false' + '&IsMissing=False' + '&Fields=' + detailsString + @@ -257,13 +254,13 @@ def getCollections(detailsString): '&ImageTypeLimit=1' + '&format=json'), 'media_type': 'Episodes', - 'name_format': filtered_episode_format}) + 'name_format': 'episode_name_format'}) collections.append({ 'title': item_name + i18n('_recently_added'), 'thumbnail': downloadUtils.getArtwork(item, "Primary", server=server), 'path': ('{server}/emby/Users/{userid}/Items' + '?ParentId=' + item.get("Id") + - '&Limit=' + show_x_filtered_items + + '&Limit={ItemLimit}' + '&IsVirtualUnaired=false' + '&IsMissing=False' + '&Fields=' + detailsString + @@ -275,13 +272,13 @@ def getCollections(detailsString): '&ImageTypeLimit=1' + '&format=json'), 'media_type': 'Episodes', - 'name_format': filtered_episode_format}) + 'name_format': 'episode_name_format'}) collections.append({ 'title': item_name + i18n('_next_up'), 'thumbnail': downloadUtils.getArtwork(item, "Primary", server=server), 'path': ('{server}/emby/Shows/NextUp/?Userid={userid}' + '&ParentId=' + item.get("Id") + - '&Limit=' + show_x_filtered_items + + '&Limit={ItemLimit}' + '&Recursive=true' + '&Fields=' + detailsString + '&Filters=IsUnplayed,IsNotFolder' + @@ -291,7 +288,7 @@ def getCollections(detailsString): '&ImageTypeLimit=1' + '&format=json'), 'media_type': 'Episodes', - 'name_format': filtered_episode_format}) + 'name_format': 'episode_name_format'}) if collection_type == "movies": collections.append({ @@ -312,7 +309,7 @@ def getCollections(detailsString): 'thumbnail': downloadUtils.getArtwork(item, "Primary", server=server), 'path': ('{server}/emby/Users/{userid}/Items' + '?ParentId=' + item.get("Id") + - '&Limit=' + show_x_filtered_items + + '&Limit={ItemLimit}' + '&IsVirtualUnaired=false' + '&IsMissing=False' + '&Fields=' + detailsString + @@ -325,7 +322,7 @@ def getCollections(detailsString): 'thumbnail': downloadUtils.getArtwork(item, "Primary", server=server), 'path': ('{server}/emby/Users/{userid}/Items' + '?ParentId=' + item.get("Id") + - '&Limit=' + show_x_filtered_items + + '&Limit={ItemLimit}' + '&IsVirtualUnaired=false' + '&IsMissing=False' + '&Fields=' + detailsString + @@ -366,7 +363,7 @@ def getCollections(detailsString): item_data['title'] = i18n('movies_in_progress') item_data['media_type'] = 'Movies' item_data['path'] = ('{server}/emby/Users/{userid}/Items' + - '?Limit=' + show_x_filtered_items + + '?Limit={ItemLimit}' + '&Recursive=true' + '&Fields=' + detailsString + '&Filters=IsResumable' + @@ -379,7 +376,7 @@ def getCollections(detailsString): item_data['title'] = i18n('movies_recently_added') item_data['media_type'] = 'Movies' item_data['path'] = ('{server}/emby/Users/{userid}/Items' + - '?Limit=' + show_x_filtered_items + + '?Limit={ItemLimit}' + '&Recursive=true' + '&SortBy=DateCreated' + '&Fields=' + detailsString + @@ -437,25 +434,37 @@ def getCollections(detailsString): '&format=json') collections.append(item_data) + item_data = {} + item_data['title'] = i18n('tvshows_favorites') + item_data['media_type'] = 'tvshows' + item_data['path'] = ('{server}/emby/Users/{userid}/Items' + + '?Fields=' + detailsString + + '&Recursive=true' + + '&Filters=IsFavorite' + + '&IncludeItemTypes=Series' + + '&ImageTypeLimit=1' + + '&format=json') + collections.append(item_data) + item_data = {} item_data['title'] = i18n('episodes_in_progress') item_data['media_type'] = 'Episodes' item_data['path'] = ('{server}/emby/Users/{userid}/Items' + - '?Limit=' + show_x_filtered_items + + '?Limit={ItemLimit}' + '&Recursive=true' + '&Fields=' + detailsString + '&Filters=IsResumable' + '&IncludeItemTypes=Episode' + '&ImageTypeLimit=1' + '&format=json') - item_data['name_format'] = filtered_episode_format + item_data['name_format'] = 'episode_name_format' collections.append(item_data) item_data = {} item_data['title'] = i18n('episodes_recently_added') item_data['media_type'] = 'Episodes' item_data['path'] = ('{server}/emby/Users/{userid}/Items' + - '?Limit=' + show_x_filtered_items + + '?Limit={ItemLimit}' + '&Recursive=true' + '&SortBy=DateCreated' + '&Fields=' + detailsString + @@ -466,14 +475,14 @@ def getCollections(detailsString): '&IncludeItemTypes=Episode' + '&ImageTypeLimit=1' + '&format=json') - item_data['name_format'] = filtered_episode_format + item_data['name_format'] = 'episode_name_format' collections.append(item_data) item_data = {} item_data['title'] = i18n('episodes_up_next') item_data['media_type'] = 'Episodes' item_data['path'] = ('{server}/emby/Shows/NextUp/?Userid={userid}' + - '&Limit=' + show_x_filtered_items + + '&Limit={ItemLimit}' + '&Recursive=true' + '&Fields=' + detailsString + '&Filters=IsUnplayed,IsNotFolder' + @@ -482,19 +491,7 @@ def getCollections(detailsString): '&IncludeItemTypes=Episode' + '&ImageTypeLimit=1' + '&format=json') - item_data['name_format'] = filtered_episode_format - collections.append(item_data) - - item_data = {} - item_data['title'] = i18n('tvshows_favorites') - item_data['media_type'] = 'tvshows' - item_data['path'] = ('{server}/emby/Users/{userid}/Items' + - '?Fields=' + detailsString + - '&Recursive=true' + - '&Filters=IsFavorite' + - '&IncludeItemTypes=Series' + - '&ImageTypeLimit=1' + - '&format=json') + item_data['name_format'] = 'episode_name_format' collections.append(item_data) item_data = {}