def trakt_refresh_token():
    data = {
        'client_id': CLIENT_ID,
        'client_secret': CLIENT_SECRET,
        'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob',
        'grant_type': 'refresh_token',
        'refresh_token': plugin.get_setting('trakt_refresh_token', unicode)
    }
    response = call_trakt('oauth/token', data=data, with_auth=False)
    if response:
        plugin.set_setting('trakt_access_token', response['access_token'])
        plugin.set_setting('trakt_refresh_token', response['refresh_token'])
示例#2
0
def setdefaultplayers():
	media = ['movies', 'tvshows']
	none = {'name':'None'}
	for i in media:
		play_plugin = meta_players.ADDON_SELECTOR.id
		players = meta_players.get_players(i)
		players = [p for p in players if p.id == play_plugin] or players
		players.append(meta_players.AddonPlayer('', '', none))
		if not players or len(players) == 0:
			xbmc.executebuiltin('Action(Info)')
			play_base.action_cancel()
			return
		index = plugin.select('Play %s with...' %i, [player.title for player in players])
		if index >= 0:
			plugin.set_setting(i + 'default', players[index].title)
def clear_trakt():
    title = 'OpenMeta: Clear Trakt account settings'
    msg = 'Reauthorizing Trakt will be required to access My Trakt.[CR][CR]Are you sure?'
    if plugin.yesno(title, msg):
        plugin.set_setting('trakt_access_token', '')
        plugin.set_setting('trakt_refresh_token', '')
        plugin.set_setting('trakt_expires_at', '')
def trakt_authenticate():
    code = trakt_get_device_code()
    token = trakt_get_device_token(code)
    if token:
        expires_at = time.time() + 60 * 60 * 24 * 30
        plugin.set_setting('trakt_expires_at', str(expires_at))
        plugin.set_setting('trakt_access_token', token['access_token'])
        plugin.set_setting('trakt_refresh_token', token['refresh_token'])
        return True
    return False
示例#5
0
import datetime
import xbmc
from addon import update_library
from resources.lib.xswift2 import plugin
from resources.lib.video_player import PLAYER


def go_idle(duration):
    while not xbmc.Monitor().abortRequested() and duration > 0:
        if PLAYER.isPlayingVideo():
            PLAYER.currentTime = PLAYER.getTime()
        xbmc.sleep(1000)
        duration -= 1


def future(seconds):
    return datetime.datetime.now() + datetime.timedelta(seconds=seconds)


if __name__ == '__main__':
    go_idle(5)
    if plugin.get_setting('total_setup_done', bool) == False:
        xbmc.executebuiltin(
            'RunPlugin(plugin://plugin.video.openmeta/setup/total)')
        plugin.set_setting('total_setup_done', 'true')
    next_update = future(0)
    while not xbmc.Monitor().abortRequested():
        if next_update <= future(0):
            next_update = future(8 * 60 * 60)
            update_library()
        go_idle(30 * 60)