Skip to content

Instantly share code, notes, and snippets.

@henryjfry
Created January 25, 2020 17:01
Show Gist options
  • Save henryjfry/4856bc5e7768974092130bd6f9ef179d to your computer and use it in GitHub Desktop.
Save henryjfry/4856bc5e7768974092130bd6f9ef179d to your computer and use it in GitHub Desktop.
TMDBHelper - Artwork + List Sort - ~/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/listitem.py
class ListItem(object):
def __init__(self, label=None, label2=None, dbtype=None, library=None, tmdb_id=None, imdb_id=None, dbid=None, tvdb_id=None,
cast=None, infolabels=None, infoproperties=None, poster=None, thumb=None, icon=None, fanart=None, nextpage=None,
streamdetails=None, clearlogo=None, clearart=None, banner=None, landscape=None, mixed_type=None, url=None, is_folder=True):
self.addon = xbmcaddon.Addon()
self.addonpath = self.addon.getAddonInfo('path')
self.select_action = self.addon.getSettingInt('select_action')
self.label = label or 'N/A'
self.label2 = label2 or ''
self.library = library or '' # <content target= video, music, pictures, none>
self.tmdb_id = tmdb_id or '' # ListItem.Property(tmdb_id)
self.imdb_id = imdb_id or '' # IMDb ID for item
self.tvdb_id = tvdb_id or '' # IMDb ID for item
self.poster, self.thumb = poster, thumb
self.clearlogo, self.clearart, self.banner, self.landscape = clearlogo, clearart, banner, landscape
self.url = url or {}
self.mixed_type = mixed_type or ''
self.streamdetails = streamdetails or {}
self.icon = icon or '{0}/resources/poster.png'.format(self.addonpath)
self.fanart = fanart or '{0}/fanart.jpg'.format(self.addonpath)
self.cast = cast or [] # Cast list
self.is_folder = is_folder
self.infolabels = infolabels or {} # ListItem.Foobar
self.infoproperties = infoproperties or {} # ListItem.Property(Foobar)
self.dbid = dbid
self.nextpage = nextpage
def __getitem__(self, item):
return getattr(self, item)
########
def get_extra_artwork(self, tmdb=None, fanarttv=None):
if not fanarttv:
return
artwork = None
if self.infolabels.get('mediatype') == 'tvshow' and (self.tvdb_id or tmdb):
self.tvdb_id = self.tvdb_id or tmdb.get_item_externalid('tv', self.tmdb_id, 'tvdb_id')
artwork = fanarttv.get_tvshow_allart_lc(self.tvdb_id)
elif self.infolabels.get('mediatype') == 'movie':
artwork = fanarttv.get_movie_allart_lc(self.tmdb_id)
if artwork:
self.discart = self.discart or artwork.get('discart')
self.clearart = self.clearart or artwork.get('clearart')
self.clearlogo = self.clearlogo or artwork.get('clearlogo')
self.landscape = self.landscape or artwork.get('landscape')
self.banner = self.banner or artwork.get('banner')
self.fanart = self.fanart or artwork.get('fanart')
self.poster = self.poster or artwork.get('poster')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment