def __init__(self, tmdb_type, tmdb_id=None, season=None, episode=None, ignore_default=False, **kwargs): self.players = get_players_from_file() self.details = get_item_details(tmdb_type, tmdb_id, season, episode) self.item = get_detailed_item( tmdb_type, tmdb_id, season, episode, details=self.details) or {} self.playerstring = get_playerstring(tmdb_type, tmdb_id, season, episode, details=self.details) self.dialog_players = self._get_players_for_dialog(tmdb_type) self.default_player = ADDON.getSettingString( 'default_player_movies' ) if tmdb_type == 'movie' else ADDON.getSettingString( 'default_player_episodes') self.ignore_default = ignore_default self.tmdb_type, self.tmdb_id, self.season, self.episode = tmdb_type, tmdb_id, season, episode self.dummy_duration = try_float( ADDON.getSettingString('dummy_duration')) or 1.0 self.dummy_delay = try_float( ADDON.getSettingString('dummy_delay')) or 1.0 self.force_xbmcplayer = ADDON.getSettingBool('force_xbmcplayer')
def get_color_lumsat(self, r, g, b): hls_tuple = colorsys.rgb_to_hls(r / 255.0, g / 255.0, b / 255.0) hue = hls_tuple[0] lum = try_float( xbmc.getInfoLabel( 'Skin.String(TMDbHelper.Colors.Luminance)')) or hls_tuple[1] sat = try_float( xbmc.getInfoLabel( 'Skin.String(TMDbHelper.Colors.Saturation)')) or hls_tuple[2] return self.rgb_to_int(*colorsys.hls_to_rgb(hue, lum, sat))
def get_collection_properties(v): ratings = [] infoproperties = {} year_l, year_h, votes = 9999, 0, 0 for p, i in enumerate(v): infoproperties[u'set.{}.title'.format(p)] = i.get('title', '') infoproperties[u'set.{}.tmdb_id'.format(p)] = i.get('id', '') infoproperties[u'set.{}.originaltitle'.format(p)] = i.get('original_title', '') infoproperties[u'set.{}.plot'.format(p)] = i.get('overview', '') infoproperties[u'set.{}.premiered'.format(p)] = i.get('release_date', '') infoproperties[u'set.{}.year'.format(p)] = i.get('release_date', '')[:4] infoproperties[u'set.{}.rating'.format(p)] = u'{:0,.1f}'.format(try_float(i.get('vote_average'))) infoproperties[u'set.{}.votes'.format(p)] = i.get('vote_count', '') infoproperties[u'set.{}.poster'.format(p)] = get_imagepath_poster(i.get('poster_path', '')) infoproperties[u'set.{}.fanart'.format(p)] = get_imagepath_fanart(i.get('backdrop_path', '')) year_l = min(try_int(i.get('release_date', '')[:4]), year_l) year_h = max(try_int(i.get('release_date', '')[:4]), year_h) if i.get('vote_average'): ratings.append(i['vote_average']) votes += try_int(i.get('vote_count', 0)) if year_l == 9999: year_l = None if year_l: infoproperties['set.year.first'] = year_l if year_h: infoproperties['set.year.last'] = year_h if year_l and year_h: infoproperties['set.years'] = u'{0} - {1}'.format(year_l, year_h) if len(ratings): infoproperties['set.rating'] = infoproperties['tmdb_rating'] = u'{:0,.1f}'.format(sum(ratings) / len(ratings)) if votes: infoproperties['set.votes'] = infoproperties['tmdb_votes'] = u'{:0,.0f}'.format(votes) infoproperties['set.numitems'] = p return infoproperties
def get_property(name, set_property=None, clear_property=False, window_id=None, prefix=None, is_type=None): if prefix != -1: prefix = prefix or 'TMDbHelper' name = '{}.{}'.format(prefix, name) if window_id == 'current': window = xbmcgui.Window(xbmcgui.getCurrentWindowId()) elif window_id: window = xbmcgui.Window(window_id) else: window = xbmcgui.Window(10000) if clear_property: window.clearProperty(name) return elif set_property is not None: window.setProperty(name, u'{}'.format(set_property)) return set_property if is_type == int: return try_int(window.getProperty(name)) if is_type == float: return try_float(window.getProperty(name)) return window.getProperty(name)
def __init__(self, tmdb_type, tmdb_id=None, season=None, episode=None, ignore_default=False, islocal=False, **kwargs): with ProgressDialog('TMDbHelper', u'{}...'.format(ADDON.getLocalizedString(32374)), total=3) as _p_dialog: self.api_language = None self.players = get_players_from_file() _p_dialog.update(u'{}...'.format(ADDON.getLocalizedString(32375))) self.details = get_item_details(tmdb_type, tmdb_id, season, episode) self.item = get_detailed_item( tmdb_type, tmdb_id, season, episode, details=self.details) or {} _p_dialog.update(u'{}...'.format(ADDON.getLocalizedString(32376))) self.playerstring = get_playerstring(tmdb_type, tmdb_id, season, episode, details=self.details) self.dialog_players = self._get_players_for_dialog(tmdb_type) self.default_player = ADDON.getSettingString( 'default_player_movies' ) if tmdb_type == 'movie' else ADDON.getSettingString( 'default_player_episodes') self.ignore_default = ignore_default self.tmdb_type, self.tmdb_id, self.season, self.episode = tmdb_type, tmdb_id, season, episode self.dummy_duration = try_float( ADDON.getSettingString('dummy_duration')) or 1.0 self.dummy_delay = try_float( ADDON.getSettingString('dummy_delay')) or 1.0 self.force_xbmcplayer = ADDON.getSettingBool('force_xbmcplayer') self.is_strm = islocal
def get_episode_to_air(v, name): i = v or {} infoproperties = {} infoproperties[u'{}'.format(name)] = format_date(i.get('air_date'), xbmc.getRegion('dateshort')) infoproperties[u'{}.long'.format(name)] = format_date(i.get('air_date'), xbmc.getRegion('datelong')) infoproperties[u'{}.day'.format(name)] = format_date(i.get('air_date'), "%A") infoproperties[u'{}.episode'.format(name)] = i.get('episode_number') infoproperties[u'{}.name'.format(name)] = i.get('name') infoproperties[u'{}.tmdb_id'.format(name)] = i.get('id') infoproperties[u'{}.plot'.format(name)] = i.get('overview') infoproperties[u'{}.season'.format(name)] = i.get('season_number') infoproperties[u'{}.rating'.format(name)] = u'{:0,.1f}'.format(try_float(i.get('vote_average'))) infoproperties[u'{}.votes'.format(name)] = i.get('vote_count') infoproperties[u'{}.thumb'.format(name)] = get_imagepath_poster(i.get('still_path')) return infoproperties