diff --git a/resources/lib/entrypoint.py b/resources/lib/entrypoint.py index 7983f5f0..e03db131 100644 --- a/resources/lib/entrypoint.py +++ b/resources/lib/entrypoint.py @@ -7,6 +7,7 @@ e.g. plugin://... calls. Hence be careful to only rely on window variables. from __future__ import absolute_import, division, unicode_literals from logging import getLogger import sys +import copy import xbmc import xbmcplugin @@ -423,6 +424,7 @@ def hub(content_type): # We need to make sure that only entries that WORK are displayed # WARNING: using xml.remove(child) in for-loop requires traversing from # the end! + pkc_cont_watching = None for entry in reversed(xml): api = API(entry) append = False @@ -439,6 +441,21 @@ def hub(content_type): append = True if not append: xml.remove(entry) + + # HACK ################## + # Merge Plex's "Continue watching" with "On deck" + if entry.get('key') == '/hubs/home/continueWatching': + pkc_cont_watching = copy.deepcopy(entry) + pkc_cont_watching.set('key', '/hubs/continueWatching') + title = pkc_cont_watching.get('title') or 'Continue Watching' + pkc_cont_watching.set('title', 'PKC %s' % title) + if pkc_cont_watching: + for i, entry in enumerate(xml): + if entry.get('key') == '/hubs/home/continueWatching': + xml.insert(i + 1, pkc_cont_watching) + break + # END HACK ################## + show_listing(xml)