fix extrafanart issues

This commit is contained in:
marcelveldt 2016-01-06 23:22:10 +01:00
parent f5c2aaa490
commit fc810f7b32
2 changed files with 20 additions and 16 deletions

View file

@ -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')
@ -51,6 +50,7 @@ class Main:
modes = {
'reset': utils.reset,
'extrafanart': entrypoint.getExtraFanArt(),
'resetauth': entrypoint.resetAuth,
'play': entrypoint.doPlayback,
'passwords': utils.passwordsXML,
@ -64,6 +64,9 @@ class Main:
'refreshplaylist': entrypoint.refreshPlaylist
}
if "extrafanart" in sys.argv[0]:
entrypoint.getExtraFanArt()
if modes.get(mode):
# Simple functions
if mode == "play":
@ -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()

View file

@ -817,24 +817,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]
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]
utils.logMsg("EMBY", "Requesting extrafanart for Id: %s" % embyId, 1)
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