Fix tv show season posters not showing
This commit is contained in:
parent
53c07d4b50
commit
d300cc60d6
3 changed files with 41 additions and 54 deletions
|
@ -2044,15 +2044,15 @@ class API():
|
|||
"""
|
||||
item = self.item.attrib
|
||||
|
||||
maxHeight = 10000
|
||||
maxWidth = 10000
|
||||
customquery = ""
|
||||
# maxHeight = 10000
|
||||
# maxWidth = 10000
|
||||
# customquery = ""
|
||||
|
||||
if utils.settings('compressArt') == "true":
|
||||
customquery = "&Quality=90"
|
||||
# if utils.settings('compressArt') == "true":
|
||||
# customquery = "&Quality=90"
|
||||
|
||||
if utils.settings('enableCoverArt') == "false":
|
||||
customquery += "&EnableImageEnhancers=false"
|
||||
# if utils.settings('enableCoverArt') == "false":
|
||||
# customquery += "&EnableImageEnhancers=false"
|
||||
|
||||
allartworks = {
|
||||
'Primary': "",
|
||||
|
@ -2083,54 +2083,21 @@ class API():
|
|||
|
||||
# Process parent items if the main item is missing artwork
|
||||
if parentInfo:
|
||||
|
||||
# Process parent backdrops
|
||||
if not allartworks['Backdrop']:
|
||||
|
||||
parentId = item.get('ParentBackdropItemId')
|
||||
if parentId:
|
||||
# If there is a parentId, go through the parent backdrop list
|
||||
parentbackdrops = item['ParentBackdropImageTags']
|
||||
background = item.get('parentArt')
|
||||
if background:
|
||||
background = "%s%s" % (self.server, background)
|
||||
background = self.addPlexCredentialsToUrl(background)
|
||||
allartworks['Backdrop'].append(background)
|
||||
|
||||
backdropIndex = 0
|
||||
for parentbackdroptag in parentbackdrops:
|
||||
artwork = (
|
||||
"%s/emby/Items/%s/Images/Backdrop/%s?"
|
||||
"MaxWidth=%s&MaxHeight=%s&Format=original&Tag=%s%s"
|
||||
% (self.server, parentId, backdropIndex,
|
||||
maxWidth, maxHeight, parentbackdroptag, customquery))
|
||||
allartworks['Backdrop'].append(artwork)
|
||||
backdropIndex += 1
|
||||
|
||||
# Process the rest of the artwork
|
||||
parentartwork = ['Logo', 'Art', 'Thumb']
|
||||
for parentart in parentartwork:
|
||||
|
||||
if not allartworks[parentart]:
|
||||
|
||||
parentId = item.get('Parent%sItemId' % parentart)
|
||||
if parentId:
|
||||
|
||||
parentTag = item['Parent%sImageTag' % parentart]
|
||||
artwork = (
|
||||
"%s/emby/Items/%s/Images/%s/0?"
|
||||
"MaxWidth=%s&MaxHeight=%s&Format=original&Tag=%s%s"
|
||||
% (self.server, parentId, parentart,
|
||||
maxWidth, maxHeight, parentTag, customquery))
|
||||
allartworks[parentart] = artwork
|
||||
|
||||
# Parent album works a bit differently
|
||||
if not allartworks['Primary']:
|
||||
primary = item['parentThumb']
|
||||
if primary:
|
||||
primary = "%s%s" % (self.server, primary)
|
||||
primary = self.addPlexCredentialsToUrl(primary)
|
||||
allartworks['Primary'] = primary
|
||||
|
||||
parentId = item.get('AlbumId')
|
||||
if parentId and item.get('AlbumPrimaryImageTag'):
|
||||
|
||||
parentTag = item['AlbumPrimaryImageTag']
|
||||
artwork = (
|
||||
"%s/emby/Items/%s/Images/Primary/0?"
|
||||
"MaxWidth=%s&MaxHeight=%s&Format=original&Tag=%s%s"
|
||||
% (self.server, parentId, maxWidth, maxHeight, parentTag, customquery))
|
||||
allartworks['Primary'] = artwork
|
||||
return allartworks
|
||||
|
||||
def getTranscodeVideoPath(self, action, quality={}):
|
||||
|
|
|
@ -1141,9 +1141,8 @@ class TVShows(Items):
|
|||
# skip this item for now
|
||||
return
|
||||
|
||||
def run_add_updateSeason(self, item, viewid=None, viewtag=None):
|
||||
def run_add_updateSeason(self, item, viewtag=None, viewid=None):
|
||||
API = PlexAPI.API(item)
|
||||
showid = viewid
|
||||
itemid = API.getRatingKey()
|
||||
if not itemid:
|
||||
self.logMsg('Error getting itemid for season, skipping', -1)
|
||||
|
@ -1153,6 +1152,18 @@ class TVShows(Items):
|
|||
kodi_db = self.kodi_db
|
||||
artwork = self.artwork
|
||||
seasonnum = API.getIndex()
|
||||
# Get parent tv show Plex id
|
||||
plexshowid = item.attrib.get('parentRatingKey')
|
||||
# Get Kodi showid
|
||||
emby_dbitem = emby_db.getItem_byId(plexshowid)
|
||||
try:
|
||||
showid = emby_dbitem[0]
|
||||
except:
|
||||
self.logMsg('Could not find parent tv show for season %s. '
|
||||
'Skipping season for now.'
|
||||
% (itemid), -1)
|
||||
return
|
||||
|
||||
seasonid = kodi_db.addSeason(showid, seasonnum)
|
||||
checksum = API.getChecksum()
|
||||
# Check whether Season already exists
|
||||
|
@ -1165,6 +1176,7 @@ class TVShows(Items):
|
|||
|
||||
# Process artwork
|
||||
allartworks = API.getAllArtwork()
|
||||
self.logMsg('TV id: %s, Seasonid: %s' % (viewid, seasonid), 1)
|
||||
artwork.addArtwork(allartworks, seasonid, "season", kodicursor)
|
||||
|
||||
if update_item:
|
||||
|
@ -1172,7 +1184,7 @@ class TVShows(Items):
|
|||
emby_db.updateReference(itemid, checksum)
|
||||
else:
|
||||
# Create the reference in emby table
|
||||
emby_db.addReference(itemid, seasonid, "Season", "season", parentid=showid, checksum=checksum)
|
||||
emby_db.addReference(itemid, seasonid, "Season", "season", parentid=viewid, checksum=checksum)
|
||||
|
||||
def add_updateEpisode(self, item, viewtag=None, viewid=None):
|
||||
try:
|
||||
|
|
|
@ -1218,6 +1218,10 @@ class LibrarySync(Thread):
|
|||
# COPY for later use
|
||||
allPlexTvShowsId = self.allPlexElementsId.copy()
|
||||
|
||||
# Process self.updatelist
|
||||
self.GetAndProcessXMLs(itemType)
|
||||
self.logMsg("GetAndProcessXMLs completed for tv shows", 1)
|
||||
|
||||
# PROCESS TV Seasons #####
|
||||
# Cycle through tv shows
|
||||
for tvShowId in allPlexTvShowsId:
|
||||
|
@ -1238,6 +1242,10 @@ class LibrarySync(Thread):
|
|||
self.logMsg("Analyzed all seasons of TV show with Plex Id %s"
|
||||
% tvShowId, 1)
|
||||
|
||||
# Process self.updatelist
|
||||
self.GetAndProcessXMLs(itemType)
|
||||
self.logMsg("GetAndProcessXMLs completed for seasons", 1)
|
||||
|
||||
# PROCESS TV Episodes #####
|
||||
# Cycle through tv shows
|
||||
for view in views:
|
||||
|
@ -1261,7 +1269,7 @@ class LibrarySync(Thread):
|
|||
|
||||
# Process self.updatelist
|
||||
self.GetAndProcessXMLs(itemType)
|
||||
self.logMsg("GetAndProcessXMLs completed", 1)
|
||||
self.logMsg("GetAndProcessXMLs completed for episodes", 1)
|
||||
# Refresh season info
|
||||
# Cycle through tv shows
|
||||
with itemtypes.TVShows() as TVshow:
|
||||
|
|
Loading…
Reference in a new issue