Exemplo n.º 1
0
 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))
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
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