Esempio n. 1
0
def contextClearPreviews():
    context_menu = []
    if PLUGIN.get_setting('live_previews_enable', unicode) == 'true':
        notify = str(notifyRefresh())
        context_menu.extend([(PLUGIN.get_string(30084), 'RunPlugin(%s)' %
                              PLUGIN.url_for(endpoint='clearLivePreviews', notify=notify))])
    return context_menu
Esempio n. 2
0
def contextClearPreviews():
    context_menu = []
    if PLUGIN.get_setting('live_previews_enable', unicode) == 'true':
        notify = str(notifyRefresh())
        context_menu.extend([(PLUGIN.get_string(30084), 'RunPlugin(%s)' %
                              PLUGIN.url_for(endpoint='clearLivePreviews', notify=notify))])
    return context_menu
Esempio n. 3
0
def refreshPreviews():
    if PLUGIN.get_setting('live_previews_enable', unicode) != 'true':
        return
    if PLUGIN.get_setting('refresh_previews', unicode) == 'true':
        refresh_interval = PLUGIN.get_setting('refresh_interval', int) * 60
        if getRefreshDiff() >= refresh_interval:
            setRefeshStamp()
            TextureCacheCleaner().remove_like(LIVE_PREVIEW_IMAGE, notifyRefresh())
Esempio n. 4
0
def searchresults(query, index='0'):
    index, offset, limit = utils.calculatePaginationValues(index)
    streams = TWITCHTV.searchStreams(query, offset, limit)
    items = [CONVERTER.convertStreamToListItem(stream) for stream in streams]
    items.append(utils.linkToNextPage('searchresults', index, query=query))
    utils.refreshPreviews()
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 5
0
def createListOfFeaturedStreams():
    featuredStreams = TWITCHTV.getFeaturedStream()
    utils.refreshPreviews()
    PLUGIN.set_content(utils.getContentType())
    return [
        CONVERTER.convertStreamToListItem(featuredStream[Keys.STREAM])
        for featuredStream in featuredStreams
    ]
Esempio n. 6
0
def linkToNextPage(target, currentIndex, **kwargs):
    return {
        'label': PLUGIN.get_string(30011),
        'icon': Images.ICON,
        'thumbnail': Images.THUMB,
        'art': theArt(),
        'path': PLUGIN.url_for(target, index=str(currentIndex + 1), **kwargs)
    }
Esempio n. 7
0
def refreshPreviews():
    if PLUGIN.get_setting('live_previews_enable', unicode) != 'true':
        return
    if PLUGIN.get_setting('refresh_previews', unicode) == 'true':
        refresh_interval = PLUGIN.get_setting('refresh_interval', int) * 60
        if getRefreshDiff() >= refresh_interval:
            setRefeshStamp()
            TextureCacheCleaner().remove_like(LIVE_PREVIEW_IMAGE, notifyRefresh())
Esempio n. 8
0
def searchresults(query, index='0'):
    index, offset, limit = utils.calculatePaginationValues(index)
    streams = TWITCHTV.searchStreams(query, offset, limit)
    items = [CONVERTER.convertStreamToListItem(stream) for stream in streams]
    items.append(utils.linkToNextPage('searchresults', index, query=query))
    utils.refreshPreviews()
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 9
0
def createListOfTeams(index):
    index = int(index)
    teams = TWITCHTV.getTeams(index)
    items = [CONVERTER.convertTeamToListItem(item) for item in teams]
    if len(teams) == 25:
        items.append(utils.linkToNextPage('createListOfTeams', index))
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 10
0
def createListOfTeams(index):
    index = int(index)
    teams = TWITCHTV.getTeams(index)
    items = [CONVERTER.convertTeamToListItem(item) for item in teams]
    if len(teams) == 25:
        items.append(utils.linkToNextPage('createListOfTeams', index))
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 11
0
def createListOfGames(index):
    index, offset, limit = utils.calculatePaginationValues(index)

    games = TWITCHTV.getGames(offset, limit)
    items = [CONVERTER.convertGameToListItem(element[Keys.GAME]) for element in games]

    items.append(utils.linkToNextPage('createListOfGames', index))
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 12
0
def execIrcPlugin(channel):
    if PLUGIN.get_setting('irc_enable', unicode) != 'true':
        return
    uname = PLUGIN.get_setting('irc_username', unicode)
    passwd = getOauthToken(token_only=False)
    host = 'irc.chat.twitch.tv'
    scrline = 'RunScript(script.ircchat, run_irc=True&nickname=%s&username=%s&password=%s&host=%s&channel=#%s)' % \
              (uname, uname, passwd, host, channel)
    xbmc.executebuiltin(scrline)
Esempio n. 13
0
def execIrcPlugin(channel):
    if PLUGIN.get_setting('irc_enable', unicode) != 'true':
        return
    uname = PLUGIN.get_setting('irc_username', unicode)
    passwd = PLUGIN.get_setting('irc_password', unicode)
    host = 'irc.chat.twitch.tv'
    scrline = 'RunScript(script.ircchat, run_irc=True&nickname=%s&username=%s&password=%s&host=%s&channel=#%s)' % \
              (uname, uname, passwd, host, channel)
    xbmc.executebuiltin(scrline)
Esempio n. 14
0
def createListForGame(gameName, index):
    index, offset, limit = utils.calculatePaginationValues(index)
    items = [CONVERTER.convertStreamToListItem(stream) for stream
             in TWITCHTV.getGameStreams(gameName, offset, limit)]

    items.append(utils.linkToNextPage('createListForGame', index, gameName=gameName))
    utils.refreshPreviews()
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 15
0
def channelVideosList(name, index, broadcast_type):
    index = int(index)
    offset = index * 8
    videos = TWITCHTV.getFollowerVideos(name, offset, broadcast_type)
    items = [CONVERTER.convertVideoListToListItem(video) for video in videos[Keys.VIDEOS]]
    if videos[Keys.TOTAL] > (offset + 8):
        items.append(utils.linkToNextPage('channelVideosList', index, name=name, broadcast_type=broadcast_type))
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 16
0
def createListForGame(gameName, index):
    index, offset, limit = utils.calculatePaginationValues(index)
    items = [CONVERTER.convertStreamToListItem(stream) for stream
             in TWITCHTV.getGameStreams(gameName, offset, limit)]

    items.append(utils.linkToNextPage('createListForGame', index, gameName=gameName))
    utils.refreshPreviews()
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 17
0
def createFollowingGameList():
    username = utils.getUserName()
    if not username:
        utils.notification(PLUGIN.get_string(30095))
    else:
        games = TWITCHTV.getFollowingGames(username)
        items = [CONVERTER.convertGameToListItem(element) for element in games]
        PLUGIN.set_content(utils.getContentType())
        return items
Esempio n. 18
0
def channelVideosList(name, index, past):
    index = int(index)
    offset = index * 8
    videos = TWITCHTV.getFollowerVideos(name, offset, past)
    items = [CONVERTER.convertVideoListToListItem(video) for video in videos[Keys.VIDEOS]]
    if videos[Keys.TOTAL] > (offset + 8):
        items.append(utils.linkToNextPage('channelVideosList', index, name=name, past=past))
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 19
0
def createListOfGames(index):
    index, offset, limit = utils.calculatePaginationValues(index)

    games = TWITCHTV.getGames(offset, limit)
    items = [CONVERTER.convertGameToListItem(element[Keys.GAME]) for element in games]

    items.append(utils.linkToNextPage('createListOfGames', index))
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 20
0
def createFollowingGameList():
    username = utils.getUserName()
    if not username:
        utils.notification(PLUGIN.get_string(30095))
    else:
        games = TWITCHTV.getFollowingGames(username)
        items = [CONVERTER.convertGameToListItem(element) for element in games]
        PLUGIN.set_content(utils.getContentType())
        return items
Esempio n. 21
0
def handleTwitchException(exception):
    codeTranslations = {TwitchException.NO_STREAM_URL: 30023,
                        TwitchException.STREAM_OFFLINE: 30021,
                        TwitchException.HTTP_ERROR: 30020,
                        TwitchException.JSON_ERROR: 30027,
                        TwitchException.NO_PLAYABLE: 30080}
    code = exception.code
    title = 30010
    msg = codeTranslations[code]
    PLUGIN.notify(PLUGIN.get_string(title), PLUGIN.get_string(msg), image=Images.ICON)
Esempio n. 22
0
def play(item, listItem):
    fromAddon = xbmc.getInfoLabel('Container.PluginName') == PLUGIN.id
    withPlayer = int(sys.argv[1]) == -1
    if withPlayer or not fromAddon:
        playbackItem = xbmcgui.ListItem(label=listItem.get('label', ''),
                                        thumbnailImage=listItem.get('thumbnail', Images.VIDEOTHUMB),
                                        path=listItem.get('path', item))
        playbackItem.setProperty('IsPlayable', 'true')
        xbmc.Player().play(item, playbackItem)
    else:
        PLUGIN.set_resolved_url(listItem)
Esempio n. 23
0
def play(item, listItem):
    fromAddon = xbmc.getInfoLabel('Container.PluginName') == PLUGIN.id
    withPlayer = int(sys.argv[1]) == -1
    if withPlayer or not fromAddon:
        playbackItem = xbmcgui.ListItem(label=listItem.get('label', ''),
                                        path=listItem.get('path', item))
        playbackItem.setArt(theArt({'thumb': listItem.get('thumbnail', Images.VIDEOTHUMB)}))
        playbackItem.setProperty('IsPlayable', 'true')
        xbmc.Player().play(item, playbackItem)
    else:
        PLUGIN.set_resolved_url(listItem)
Esempio n. 24
0
def getOauthToken(token_only=True):
    oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if not oauthtoken:
        PLUGIN.open_settings()
        oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if oauthtoken:
        if token_only:
            oauthtoken = oauthtoken.replace('oauth:', '')
        else:
            if not oauthtoken.lower().startswith('oauth:'):
                oauthtoken = 'oauth:{0}'.format(oauthtoken)
    return oauthtoken
Esempio n. 25
0
def getOauthToken(token_only=True):
    oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if not oauthtoken:
        PLUGIN.open_settings()
        oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if oauthtoken:
        if token_only:
            oauthtoken = oauthtoken.replace('oauth:', '')
        else:
            if not oauthtoken.lower().startswith('oauth:'):
                oauthtoken = 'oauth:{0}'.format(oauthtoken)
    return oauthtoken
Esempio n. 26
0
def handleTwitchException(exception):
    codeTranslations = {
        TwitchException.NO_STREAM_URL: 30023,
        TwitchException.STREAM_OFFLINE: 30021,
        TwitchException.HTTP_ERROR: 30020,
        TwitchException.JSON_ERROR: 30027,
        TwitchException.NO_PLAYABLE: 30080
    }
    code = exception.code
    title = 30010
    msg = codeTranslations[code]
    PLUGIN.notify(PLUGIN.get_string(title),
                  PLUGIN.get_string(msg),
                  image=Images.ICON)
Esempio n. 27
0
def channelVideos(name):
    items = [{'label': PLUGIN.get_string(30078), 'icon': Images.ICON, 'thumbnail': Images.THUMB, 'art': utils.theArt(),
              'path': PLUGIN.url_for(endpoint='channelVideosList', name=name, index=0, broadcast_type='archive')},
             {'label': PLUGIN.get_string(30113), 'icon': Images.ICON, 'thumbnail': Images.THUMB, 'art': utils.theArt(),
              'path': PLUGIN.url_for(endpoint='channelVideosList', name=name, index=0, broadcast_type='upload')},
             {'label': PLUGIN.get_string(30079), 'icon': Images.ICON, 'thumbnail': Images.THUMB, 'art': utils.theArt(),
              'path': PLUGIN.url_for(endpoint='channelVideosList', name=name, index=0, broadcast_type='highlight')}]
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 28
0
def getVideoQuality(quality=''):
    """
    :param quality: string int/int: qualities[quality]
    qualities
    0 = Best, 1 = 720, 2 = 480, 3 = 360, 4 = 226,
    -1 = Choose quality dialog
    * any other value for quality will use addon setting
    i18n: 0 = 30041, 1 = 30042, 2 = 30043, 3 = 30044, 4 = 30063
    """
    qualities = {'-1': -1, '0': 0, '1': 1, '2': 2, '3': 3, '4': 4}
    i18n_qualities = [
        PLUGIN.get_string(30041),
        PLUGIN.get_string(30042),
        PLUGIN.get_string(30043),
        PLUGIN.get_string(30044),
        PLUGIN.get_string(30063)
    ]
    try:
        quality = int(quality)
        if 4 >= quality >= 0:
            chosenQuality = str(quality)
        elif quality == -1:
            chosenQuality = str(xbmcgui.Dialog().select(
                PLUGIN.get_string(30077), i18n_qualities))
        else:
            raise ValueError
    except ValueError:
        chosenQuality = PLUGIN.get_setting('video', unicode)

    if chosenQuality == '-1':
        # chosenQuality == '-1' if dialog was cancelled
        return int(chosenQuality)
    else:
        return qualities.get(chosenQuality, sys.maxint)
Esempio n. 29
0
def getVideoQuality(quality=''):
    """
    :param quality: string int/int: qualities[quality]
    qualities
    0 = Best, 1 = 720, 2 = 480, 3 = 360, 4 = 226,
    -1 = Choose quality dialog
    * any other value for quality will use addon setting
    i18n: 0 = 30041, 1 = 30042, 2 = 30043, 3 = 30044, 4 = 30063
    """
    qualities = {'-1': -1, '0': 0, '1': 1, '2': 2, '3': 3, '4': 4}
    i18n_qualities = [PLUGIN.get_string(30041), PLUGIN.get_string(30042), PLUGIN.get_string(30043),
                      PLUGIN.get_string(30044), PLUGIN.get_string(30063)]
    try:
        quality = int(quality)
        if 4 >= quality >= 0:
            chosenQuality = str(quality)
        elif quality == -1:
            chosenQuality = str(xbmcgui.Dialog().select(PLUGIN.get_string(30077), i18n_qualities))
        else:
            raise ValueError
    except ValueError:
        chosenQuality = PLUGIN.get_setting('video', unicode)

    if chosenQuality == '-1':
        # chosenQuality == '-1' if dialog was cancelled
        return int(chosenQuality)
    else:
        return qualities.get(chosenQuality, sys.maxint)
Esempio n. 30
0
def getContentType():
    chosenType = PLUGIN.get_setting('contenttypes', unicode)
    contentTypes = {
        '0': 'files',
        '1': 'tvshows',
        '2': 'movies',
        '3': 'episodes',
        '4': 'musicvideos'
    }
    return contentTypes.get(chosenType, 'files')
Esempio n. 31
0
def getMediaType():
    chosenType = PLUGIN.get_setting('contenttypes', unicode)
    mediaTypes = {
        '0': 'video',
        '1': 'tvshow',
        '2': 'movie',
        '3': 'episode',
        '4': 'musicvideo'
    }
    return mediaTypes.get(chosenType, 'video')
Esempio n. 32
0
def channelVideos(name):
    items = [{
        'label':
        PLUGIN.get_string(30078),
        'icon':
        Images.ICON,
        'thumbnail':
        Images.THUMB,
        'art':
        utils.theArt(),
        'path':
        PLUGIN.url_for(endpoint='channelVideosList',
                       name=name,
                       index=0,
                       past='true')
    }, {
        'label':
        PLUGIN.get_string(30079),
        'icon':
        Images.ICON,
        'thumbnail':
        Images.THUMB,
        'art':
        utils.theArt(),
        'path':
        PLUGIN.url_for(endpoint='channelVideosList',
                       name=name,
                       index=0,
                       past='false')
    }]
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 33
0
def search():
    query = PLUGIN.keyboard('', PLUGIN.get_string(30007))
    if query:
        target = PLUGIN.url_for(endpoint='searchresults', query=query, index='0')
    else:
        target = PLUGIN.url_for(endpoint='createMainListing')
    PLUGIN.redirect(target)
Esempio n. 34
0
def search():
    query = PLUGIN.keyboard('', PLUGIN.get_string(30007))
    if query:
        target = PLUGIN.url_for(endpoint='searchresults', query=query, index='0')
    else:
        target = PLUGIN.url_for(endpoint='createMainListing')
    PLUGIN.redirect(target)
Esempio n. 35
0
def channelVideos(name):
    items = [{'label': PLUGIN.get_string(30078), 'icon': Images.ICON, 'thumbnail': Images.THUMB, 'art': utils.theArt(),
              'path': PLUGIN.url_for(endpoint='channelVideosList', name=name, index=0, past='true')},
             {'label': PLUGIN.get_string(30079), 'icon': Images.ICON, 'thumbnail': Images.THUMB, 'art': utils.theArt(),
              'path': PLUGIN.url_for(endpoint='channelVideosList', name=name, index=0, past='false')}]
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 36
0
def createFollowingList():
    username = utils.getUserName()
    if not username:
        utils.notification(PLUGIN.get_string(30095))
    else:
        streams = TWITCHTV.getFollowingStreams(username)
        liveStreams = [CONVERTER.convertStreamToListItem(stream) for stream in streams[Keys.LIVE]]
        liveStreams.insert(0, {'path': PLUGIN.url_for(endpoint='createFollowingList'), 'icon': Images.ICON,
                               'thumbnail': Images.THUMB, 'art': utils.theArt(), 'is_playable': False,
                               'label': PLUGIN.get_string(30012)})
        liveStreams.append({'path': PLUGIN.url_for(endpoint='createFollowingList'), 'icon': Images.ICON,
                            'thumbnail': Images.THUMB, 'art': utils.theArt(), 'is_playable': False,
                            'label': PLUGIN.get_string(30013)})
        liveStreams.extend([CONVERTER.convertFollowersToListItem(follower) for follower in streams[Keys.OTHERS]])
        utils.refreshPreviews()
        PLUGIN.set_content(utils.getContentType())
        return liveStreams
Esempio n. 37
0
def createFollowingList():
    username = utils.getUserName()
    if not username:
        utils.notification(PLUGIN.get_string(30095))
    else:
        streams = TWITCHTV.getFollowingStreams(username)
        liveStreams = [CONVERTER.convertStreamToListItem(stream) for stream in streams[Keys.LIVE]]
        liveStreams.insert(0, {'path': PLUGIN.url_for(endpoint='createFollowingList'), 'icon': Images.ICON,
                               'thumbnail': Images.THUMB, 'art': utils.theArt(), 'is_playable': False,
                               'label': PLUGIN.get_string(30012)})
        liveStreams.append({'path': PLUGIN.url_for(endpoint='createFollowingList'), 'icon': Images.ICON,
                            'thumbnail': Images.THUMB, 'art': utils.theArt(), 'is_playable': False,
                            'label': PLUGIN.get_string(30013)})
        liveStreams.extend([CONVERTER.convertFollowersToListItem(follower) for follower in streams[Keys.OTHERS]])
        utils.refreshPreviews()
        PLUGIN.set_content(utils.getContentType())
        return liveStreams
Esempio n. 38
0
def getUserName():
    username = PLUGIN.get_setting('username', unicode).lower()
    if not username:
        PLUGIN.open_settings()
        username = PLUGIN.get_setting('username', unicode).lower()
    return username
Esempio n. 39
0
def createListOfFeaturedStreams():
    featuredStreams = TWITCHTV.getFeaturedStream()
    utils.refreshPreviews()
    PLUGIN.set_content(utils.getContentType())
    return [CONVERTER.convertStreamToListItem(featuredStream[Keys.STREAM])
            for featuredStream in featuredStreams]
Esempio n. 40
0
def createListOfTeamStreams(team):
    PLUGIN.set_content(utils.getContentType())
    return [CONVERTER.convertTeamChannelToListItem(channel[Keys.CHANNEL])
            for channel in TWITCHTV.getTeamStreams(team)]
Esempio n. 41
0
def getContentType():
    chosenType = PLUGIN.get_setting('contenttypes', unicode)
    contentTypes = {'0': 'files', '1': 'tvshows', '2': 'movies', '3': 'episodes', '4': 'musicvideos'}
    return contentTypes.get(chosenType, 'files')
Esempio n. 42
0
def showSettings():
    PLUGIN.open_settings()
Esempio n. 43
0
def notifyRefresh():
    notify = True
    if PLUGIN.get_setting('notify_refresh', unicode) == 'false':
        notify = False
    return notify
Esempio n. 44
0
def getVideoQuality(quality=''):
    """
    :param quality: string int/int: qualities[quality]
    qualities
    0 = Source, 1 = 1080p60, 2 = 1080p30, 3 = 720p60, 4 = 720p30, 5 = 540p30, 6 = 480p30, 7 = 360p30, 8 = 240p30, 9 = 144p30
    -1 = Choose quality dialog
    * any other value for quality will use addon setting
    i18n: 0 = 30102 ... 9 = 30111
    """
    qualities = {'-1': -1, '0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9 }
    i18n_qualities = [PLUGIN.get_string(30102), PLUGIN.get_string(30103), PLUGIN.get_string(30104),
                      PLUGIN.get_string(30105), PLUGIN.get_string(30106), PLUGIN.get_string(30107),
                      PLUGIN.get_string(30108), PLUGIN.get_string(30109), PLUGIN.get_string(30110),
                      PLUGIN.get_string(30111)]
    try:
        quality = int(quality)
        if 9 >= quality >= 0:
            chosenQuality = str(quality)
        elif quality == -1:
            chosenQuality = str(xbmcgui.Dialog().select(PLUGIN.get_string(30077), i18n_qualities))
        else:
            raise ValueError
    except ValueError:
        chosenQuality = PLUGIN.get_setting('video', unicode)

    if chosenQuality == '-1':
        # chosenQuality == '-1' if dialog was cancelled
        return int(chosenQuality)
    else:
        return qualities.get(chosenQuality, sys.maxint)
Esempio n. 45
0
def getOauthToken():
    oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if not oauthtoken:
        PLUGIN.open_settings()
        oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    return oauthtoken
Esempio n. 46
0
def createMainListing():
    context_menu = []
    context_menu.extend(utils.contextClearPreviews())
    items = [
        {'label': PLUGIN.get_string(30005),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListOfFeaturedStreams')
         },
        {'label': PLUGIN.get_string(30001),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListOfGames', index='0')
         },
        {'label': PLUGIN.get_string(30008),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListOfChannels', index='0')
         },
        {'label': PLUGIN.get_string(30002),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createFollowingList')
         },
        {'label': PLUGIN.get_string(30066),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createFollowingGameList')
         },
        {'label': PLUGIN.get_string(30006),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListOfTeams', index='0')
         },
        {'label': PLUGIN.get_string(30098),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListForSelectedVideo')
         },
        {'label': PLUGIN.get_string(30003),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='search')
         },
        {'label': PLUGIN.get_string(30004),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='showSettings')
         }
    ]
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 47
0
def createMainListing():
    context_menu = []
    context_menu.extend(utils.contextClearPreviews())
    items = [
        {'label': PLUGIN.get_string(30005),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListOfFeaturedStreams')
         },
        {'label': PLUGIN.get_string(30001),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListOfGames', index='0')
         },
        {'label': PLUGIN.get_string(30008),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListOfChannels', index='0')
         },
        {'label': PLUGIN.get_string(30002),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createFollowingList')
         },
        {'label': PLUGIN.get_string(30066),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createFollowingGameList')
         },
        {'label': PLUGIN.get_string(30006),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListOfTeams', index='0')
         },
        {'label': PLUGIN.get_string(30098),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='createListForSelectedVideo')
         },
        {'label': PLUGIN.get_string(30003),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='search')
         },
        {'label': PLUGIN.get_string(30004),
         'icon': Images.ICON,
         'thumbnail': Images.THUMB,
         'art': utils.theArt(),
         'context_menu': context_menu,
         'path': PLUGIN.url_for(endpoint='showSettings')
         }
    ]
    PLUGIN.set_content(utils.getContentType())
    return items
Esempio n. 48
0
def notifyRefresh():
    notify = True
    if PLUGIN.get_setting('notify_refresh', unicode) == 'false':
        notify = False
    return notify
Esempio n. 49
0
def getOauthToken():
    oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    if not oauthtoken:
        PLUGIN.open_settings()
        oauthtoken = PLUGIN.get_setting('oauth_token', unicode)
    return oauthtoken
Esempio n. 50
0
def linkToNextPage(target, currentIndex, **kwargs):
    return {'label': PLUGIN.get_string(30011),
            'icon': Images.ICON,
            'thumbnail': Images.THUMB,
            'art': theArt(),
            'path': PLUGIN.url_for(target, index=str(currentIndex + 1), **kwargs)}
Esempio n. 51
0
def getMediaType():
    chosenType = PLUGIN.get_setting('contenttypes', unicode)
    mediaTypes = {'0': 'video', '1': 'tvshow', '2': 'movie', '3': 'episode', '4': 'musicvideo'}
    return mediaTypes.get(chosenType, 'video')
Esempio n. 52
0
def showSettings():
    PLUGIN.open_settings()
Esempio n. 53
0
def getUserName():
    username = PLUGIN.get_setting('username', unicode).lower()
    if not username:
        PLUGIN.open_settings()
        username = PLUGIN.get_setting('username', unicode).lower()
    return username
Esempio n. 54
0
def createListOfTeamStreams(team):
    PLUGIN.set_content(utils.getContentType())
    return [CONVERTER.convertTeamChannelToListItem(channel[Keys.CHANNEL])
            for channel in TWITCHTV.getTeamStreams(team)]
Esempio n. 55
0
def getVideoQuality(quality=''):
    """
    :param quality: string int/int: qualities[quality]
    qualities
    0 = Source, 1 = 1080p60, 2 = 1080p30, 3 = 720p60, 4 = 720p30, 5 = 540p30, 6 = 480p30, 7 = 360p30, 8 = 240p30, 9 = 144p30
    -1 = Choose quality dialog
    * any other value for quality will use addon setting
    i18n: 0 = 30102 ... 9 = 30111
    """
    qualities = {
        '-1': -1,
        '0': 0,
        '1': 1,
        '2': 2,
        '3': 3,
        '4': 4,
        '5': 5,
        '6': 6,
        '7': 7,
        '8': 8,
        '9': 9
    }
    i18n_qualities = [
        PLUGIN.get_string(30102),
        PLUGIN.get_string(30103),
        PLUGIN.get_string(30104),
        PLUGIN.get_string(30105),
        PLUGIN.get_string(30106),
        PLUGIN.get_string(30107),
        PLUGIN.get_string(30108),
        PLUGIN.get_string(30109),
        PLUGIN.get_string(30110),
        PLUGIN.get_string(30111)
    ]
    try:
        quality = int(quality)
        if 9 >= quality >= 0:
            chosenQuality = str(quality)
        elif quality == -1:
            chosenQuality = str(xbmcgui.Dialog().select(
                PLUGIN.get_string(30077), i18n_qualities))
        else:
            raise ValueError
    except ValueError:
        chosenQuality = PLUGIN.get_setting('video', unicode)

    if chosenQuality == '-1':
        # chosenQuality == '-1' if dialog was cancelled
        return int(chosenQuality)
    else:
        return qualities.get(chosenQuality, sys.maxint)
Esempio n. 56
0
# -*- coding: utf-8 -*-
import sys
import routes
from constants import PLUGIN

if __name__ == '__main__':
    sys.exit(PLUGIN.run())