diff --git a/addon.xml b/addon.xml index 33a6b343..2a58f2a7 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ diff --git a/default.py b/default.py index e6737beb..ad4e532c 100644 --- a/default.py +++ b/default.py @@ -37,7 +37,6 @@ class Main: addon_handle = int(sys.argv[1]) params = urlparse.parse_qs(sys.argv[2][1:]) xbmc.log("Parameter string: %s" % sys.argv[2]) - try: mode = params['mode'][0] itemid = params.get('id') @@ -52,6 +51,7 @@ class Main: 'reset': utils.reset, 'resetauth': entrypoint.resetAuth, + 'extrafanart': entrypoint.getExtraFanArt, 'play': entrypoint.doPlayback, 'passwords': utils.passwordsXML, 'adduser': entrypoint.addUser, @@ -63,6 +63,9 @@ class Main: 'recentepisodes': entrypoint.getRecentEpisodes, 'refreshplaylist': entrypoint.refreshPlaylist } + + if "extrafanart" in sys.argv[0]: + entrypoint.getExtraFanArt() if modes.get(mode): # Simple functions @@ -101,8 +104,6 @@ class Main: elif mode == "texturecache": import artwork artwork.Artwork().FullTextureCacheSync() - elif "extrafanart" in sys.argv[0]: - entrypoint.getExtraFanArt() else: entrypoint.doMainListing() diff --git a/resources/lib/entrypoint.py b/resources/lib/entrypoint.py index 3a053add..8a7e138f 100644 --- a/resources/lib/entrypoint.py +++ b/resources/lib/entrypoint.py @@ -820,24 +820,27 @@ def getExtraFanArt(): emby = embyserver.Read_EmbyServer() art = artwork.Artwork() + embyId = "" # Get extrafanart for listitem - # this will only be used for skins that actually call the listitem's path + fanart dir... + # will be called by skinhelper script to get the extrafanart try: - # Only do this if the listitem has actually changed - itemPath = xbmc.getInfoLabel("ListItem.FileNameAndPath") - - if not itemPath: + # for tvshows we get the embyid just from the path + if xbmc.getCondVisibility("Container.Content(tvshows) | Container.Content(seasons) | Container.Content(episodes)"): itemPath = xbmc.getInfoLabel("ListItem.Path") - - if any([x in itemPath for x in ['tvshows', 'musicvideos', 'movies']]): - params = urlparse.parse_qs(itemPath) - try: - embyId = params['id'][0] - except KeyError: + if "plugin.video.emby" in itemPath: embyId = itemPath.split("/")[-2] - - utils.logMsg("EMBY", "Requesting extrafanart for Id: %s" % embyId, 1) + else: + #for movies we grab the emby id from the params + itemPath = xbmc.getInfoLabel("ListItem.FileNameAndPath") + if "plugin.video.emby" in itemPath: + params = urlparse.parse_qs(itemPath) + embyId = params.get('id') + if embyId: embyId = embyId[0] + + if embyId: + #only proceed if we actually have a emby id + utils.logMsg("EMBY", "Requesting extrafanart for Id: %s" % embyId, 0) # We need to store the images locally for this to work # because of the caching system in xbmc diff --git a/resources/lib/videonodes.py b/resources/lib/videonodes.py index 108f4622..ffd0700b 100644 --- a/resources/lib/videonodes.py +++ b/resources/lib/videonodes.py @@ -116,7 +116,7 @@ class VideoNodes(object): '4': "inprogress", '5': "inprogressepisodes", '6': "unwatched", - '7': "nextupepisodes", + '7': "nextepisodes", '8': "sets", '9': "genres", '10': "random", @@ -161,7 +161,7 @@ class VideoNodes(object): label = stringid # Set window properties - if nodetype == "nextupepisodes": + if nodetype == "nextepisodes": # Custom query path = "plugin://plugin.video.plexkodiconnect/?id=%s&mode=nextup&limit=25" % tagname elif kodiversion == 14 and nodetype == "recentepisodes": @@ -172,7 +172,7 @@ class VideoNodes(object): path = "plugin://plugin.video.plexkodiconnect/?id=%s&mode=inprogressepisodes&limit=25"% tagname else: path = "library://video/Emby - %s/%s_%s.xml" % (dirname, cleantagname, nodetype) - windowpath = "ActivateWindow(Video, %s, return)" % path + windowpath = "ActivateWindow(Video,%s,return)" % path if nodetype == "all": @@ -198,7 +198,7 @@ class VideoNodes(object): # Create the root - if nodetype == "nextupepisodes" or (kodiversion == 14 and + if nodetype == "nextepisodes" or (kodiversion == 14 and nodetype in ('recentepisodes', 'inprogressepisodes')): # Folder type with plugin path root = self.commonRoot(order=node, label=label, tagname=tagname, roottype=2) @@ -277,7 +277,7 @@ class VideoNodes(object): nodepath = xbmc.translatePath("special://profile/library/video/").decode('utf-8') nodeXML = "%semby_%s.xml" % (nodepath, cleantagname) path = "library://video/emby_%s.xml" % (cleantagname) - windowpath = "ActivateWindow(Video, %s, return)" % path + windowpath = "ActivateWindow(Video,%s,return)" % path # Create the video node directory if not xbmcvfs.exists(nodepath):