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'])
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
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)