本文整理汇总了Python中resources.lib.modules.control.setSetting函数的典型用法代码示例。如果您正苦于以下问题:Python setSetting函数的具体用法?Python setSetting怎么用?Python setSetting使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了setSetting函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main_menu
def main_menu():
upgrade_warning = control.setting("upgrade.warning")
if upgrade_warning is "":
import xbmcgui
xbmcgui.Dialog().ok("Masterani Redux Warning",
" \n\nIt has come to our attention that the addon stopped working for some people. During our investigation in the matter,"
" we found that security upgrades rendered Kodi 16 unable to fetch the required data.\n\n"
"If the addon is unable to load anything, you are affected by this. Please update your Kodi to the latest version.")
control.setSetting("upgrade.warning", "shown")
lastvisited = control.setting("anime.lastvisited")
if int(lastvisited) != 0:
add_last_visited(lastvisited)
add_favorites()
items = [
{'name': "Recent",
'action': "recent"},
{'name': "Popular Today",
'action': "popular"},
{'name': "Anime",
'action': "list"},
{'name': "Search",
'action': 'search'},
{'name': "Tools",
'action': "tools"}
]
add_directory(items)
示例2: get_api
def get_api(self):
try:
api_key = self.api_key
if api_key == '':
if self.user_name == '' or self.user_pass == '':
return
else:
s = requests.Session()
link = (self.base_link + self.login_link % (self.user_name, self.user_pass))
p = s.post(link)
p = json.loads(p.text)
if p['status'] == 'ok':
api_key = p['api_key']
control.setSetting('furk.api', api_key)
else:
pass
return api_key
except:
print("Unexpected error in Furk Script: check_api", sys.exc_info()[0])
exc_type, exc_obj, exc_tb = sys.exc_info()
print(exc_type, exc_tb.tb_lineno)
pass
示例3: auth
def auth():
email = control.setting("kitsu.user")
password = control.setting("kitsu.pass")
resp = requests.post("https://kitsu.io/api/oauth/token",
params={"grant_type": "password", "username": email, "password": password})
print resp
token = json.loads(resp.text)['access_token']
control.setSetting("kitsu.token", token)
useridScrobble_resp = requests.get('https://kitsu.io/api/edge/users?filter[self]=true', headers=kitsu_headers())
userid = json.loads(useridScrobble_resp.text)['data'][0]['id']
control.setSetting("kitsu.userid", userid)
示例4: search_new
def search_new(self):
t = control.lang(32010).encode('utf-8')
k = control.keyboard('', t) ; k.doModal()
q = k.getText().strip() if k.isConfirmed() else None
if not q: return
search_history = control.setting('moviesearch')
if q not in search_history.split('\n'):
control.setSetting('moviesearch', q + '\n' + search_history)
url = self.search_link + urllib.quote_plus(q)
self.get(url)
示例5: __getTrakt
def __getTrakt(url, post=None):
try:
url = urlparse.urljoin(BASE_URL, url)
post = json.dumps(post) if post else None
headers = {'Content-Type': 'application/json', 'trakt-api-key': V2_API_KEY, 'trakt-api-version': 2}
if getTraktCredentialsInfo():
headers.update({'Authorization': 'Bearer %s' % control.setting('trakt.token')})
result = client.request(url, post=post, headers=headers, output='extended', error=True)
resp_code = result[1]
resp_header = result[2]
result = result[0]
if resp_code in ['500', '502', '503', '504', '520', '521', '522', '524']:
log_utils.log('Temporary Trakt Error: %s' % resp_code, log_utils.LOGWARNING)
return
elif resp_code in ['404']:
log_utils.log('Object Not Found : %s' % resp_code, log_utils.LOGWARNING)
return
elif resp_code in ['429']:
log_utils.log('Trakt Rate Limit Reached: %s' % resp_code, log_utils.LOGWARNING)
return
if resp_code not in ['401', '405']:
return result, resp_header
oauth = urlparse.urljoin(BASE_URL, '/oauth/token')
opost = {'client_id': V2_API_KEY, 'client_secret': CLIENT_SECRET, 'redirect_uri': REDIRECT_URI, 'grant_type': 'refresh_token', 'refresh_token': control.setting('trakt.refresh')}
result = client.request(oauth, post=json.dumps(opost), headers=headers)
result = utils.json_loads_as_str(result)
token, refresh = result['access_token'], result['refresh_token']
control.setSetting(id='trakt.token', value=token)
control.setSetting(id='trakt.refresh', value=refresh)
headers['Authorization'] = 'Bearer %s' % token
result = client.request(url, post=post, headers=headers, output='extended', error=True)
return result[0], result[2]
except Exception as e:
log_utils.log('Unknown Trakt Error: %s' % e, log_utils.LOGWARNING)
pass
示例6: kitsu_logout
def kitsu_logout(self):
control.setSetting("kitsu.token", '')
control.setSetting("kitsu.userid", '')
control.setSetting("kitsu.login_auth", '')
control.refresh()
dialog = xbmcgui.Dialog()
dialog.ok('Kitsu', 'Logout successful')
示例7: getTrakt
def getTrakt(url, post=None):
try:
url = urlparse.urljoin('http://api-v2launch.trakt.tv', url)
headers = {'Content-Type': 'application/json', 'trakt-api-key': 'c029c80fd3d3a5284ee820ba1cf7f0221da8976b8ee5e6c4af714c22fc4f46fa', 'trakt-api-version': '2'}
if not post == None: post = json.dumps(post)
if getTraktCredentialsInfo() == False:
result = client.request(url, post=post, headers=headers)
return result
headers['Authorization'] = 'Bearer %s' % control.setting('trakt.token')
result = client.request(url, post=post, headers=headers, output='response', error=True)
if not (result[0] == '401' or result[0] == '405'): return result[1]
oauth = 'http://api-v2launch.trakt.tv/oauth/token'
opost = {'client_id': 'c029c80fd3d3a5284ee820ba1cf7f0221da8976b8ee5e6c4af714c22fc4f46fa', 'client_secret': '90a1840447a1e39d350023263902fe7010338d19789e6260f18df56a8b07a68a', 'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob', 'grant_type': 'refresh_token', 'refresh_token': control.setting('trakt.refresh')}
result = client.request(oauth, post=json.dumps(opost), headers=headers)
result = json.loads(result)
token, refresh = result['access_token'], result['refresh_token']
control.setSetting(id='trakt.token', value=token)
control.setSetting(id='trakt.refresh', value=refresh)
headers['Authorization'] = 'Bearer %s' % token
result = client.request(url, post=post, headers=headers)
return result
except:
pass
示例8: getTrakt
def getTrakt(url, post=None):
try:
url = urlparse.urljoin('http://api-v2launch.trakt.tv', url)
headers = {'Content-Type': 'application/json', 'trakt-api-key': '3b76e1b99fa4a5b27f63e04307754751514d88916195ea8abc1c48eeef68f0d9', 'trakt-api-version': '2'}
if not post == None: post = json.dumps(post)
if getTraktCredentialsInfo() == False:
result = client.request(url, post=post, headers=headers)
return result
headers['Authorization'] = 'Bearer %s' % control.setting('trakt.token')
result = client.request(url, post=post, headers=headers, output='extended', error=True)
if not (result[1] == '401' or result[1] == '405'): return result[0]
oauth = 'http://api-v2launch.trakt.tv/oauth/token'
opost = {'client_id': '3b76e1b99fa4a5b27f63e04307754751514d88916195ea8abc1c48eeef68f0d9', 'client_secret': 'b0be7e72b647bcb44f2846b29729028e5d75fa710b91812027ae79cc48456a16', 'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob', 'grant_type': 'refresh_token', 'refresh_token': control.setting('trakt.refresh')}
result = client.request(oauth, post=json.dumps(opost), headers=headers)
result = json.loads(result)
token, refresh = result['access_token'], result['refresh_token']
control.setSetting(id='trakt.token', value=token)
control.setSetting(id='trakt.refresh', value=refresh)
headers['Authorization'] = 'Bearer %s' % token
result = client.request(url, post=post, headers=headers)
return result
except:
pass
示例9: kitsu_login
def kitsu_login(self):
try:
token_url = 'https://kitsu.io/api/oauth/token'
resp = requests.post(token_url, params={"grant_type": "password", "username": '%s' %(control.getSetting("kitsu.email")), "password": '%s' %(control.getSetting("kitsu.password"))})
token = json.loads(resp.text)['access_token']
control.setSetting("kitsu.token", token)
useridScrobble_resp = requests.get('https://kitsu.io/api/edge/users?filter[self]=true', headers=self.kitsu_headers())
userid = json.loads(useridScrobble_resp.text)['data'][0]['id']
control.setSetting("kitsu.userid", userid)
control.setSetting("kitsu.login_auth", 'Kitsu')
dialog = xbmcgui.Dialog()
dialog.ok('Kitsu', 'Login successful')
except:
dialog = xbmcgui.Dialog()
dialog.ok('Kitsu', 'Login error. Incorrect email or password.')
示例10: rdAuthorize
def rdAuthorize():
try:
CLIENT_ID = 'X245A4XAIBGVM'
USER_AGENT = 'Kodi Exodus/3.0'
if not '' in credentials()['realdebrid'].values():
if control.yesnoDialog(control.lang(30411).encode('utf-8'), control.lang(30413).encode('utf-8'), '', 'RealDebrid', control.lang(30415).encode('utf-8'), control.lang(30414).encode('utf-8')):
control.setSetting(id='realdebrid.id', value='')
control.setSetting(id='realdebrid.secret', value='')
control.setSetting(id='realdebrid.token', value='')
control.setSetting(id='realdebrid.refresh', value='')
control.setSetting(id='realdebrid.auth', value='')
raise Exception()
headers = {'User-Agent': USER_AGENT}
url = 'https://api.real-debrid.com/oauth/v2/device/code?client_id=%s&new_credentials=yes' % (CLIENT_ID)
result = client.request(url, headers=headers)
result = json.loads(result)
verification_url = (control.lang(30416) + '[COLOR skyblue]%s[/COLOR]' % result['verification_url']).encode('utf-8')
user_code = (control.lang(30417) + '[COLOR skyblue]%s[/COLOR]' % result['user_code']).encode('utf-8')
device_code = result['device_code']
interval = result['interval']
progressDialog = control.progressDialog
progressDialog.create('RealDebrid', verification_url, user_code)
for i in range(0, 3600):
try:
if progressDialog.iscanceled(): break
time.sleep(1)
if not float(i) % interval == 0: raise Exception()
url = 'https://api.real-debrid.com/oauth/v2/device/credentials?client_id=%s&code=%s' % (CLIENT_ID, device_code)
result = client.request(url, headers=headers, error=True)
result = json.loads(result)
if 'client_secret' in result: break
except:
pass
try: progressDialog.close()
except: pass
id, secret = result['client_id'], result['client_secret']
url = 'https://api.real-debrid.com/oauth/v2/token'
post = urllib.urlencode({'client_id': id, 'client_secret': secret, 'code': device_code, 'grant_type': 'http://oauth.net/grant_type/device/1.0'})
result = client.request(url, post=post, headers=headers)
result = json.loads(result)
token, refresh = result['access_token'], result['refresh_token']
control.setSetting(id='realdebrid.id', value=id)
control.setSetting(id='realdebrid.secret', value=secret)
control.setSetting(id='realdebrid.token', value=token)
control.setSetting(id='realdebrid.refresh', value=refresh)
control.setSetting(id='realdebrid.auth', value='*************')
raise Exception()
except:
control.openSettings('3.13')
示例11: onPlayBackStarted
def onPlayBackStarted(self):
control.execute('Dialog.Close(all,true)')
control.setSetting("anime.lastvisited", str(self.anime_id))
pass
示例12: authTrakt
def authTrakt():
try:
if getTraktCredentialsInfo() == True:
if control.yesnoDialog(control.lang(30479).encode('utf-8'), control.lang(30481).encode('utf-8'), '', 'Trakt', control.lang(30483).encode('utf-8'), control.lang(30482).encode('utf-8')):
control.setSetting(id='trakt.user', value='')
control.setSetting(id='trakt.token', value='')
control.setSetting(id='trakt.refresh', value='')
raise Exception()
if control.yesnoDialog(control.lang(30484).encode('utf-8') + '[COLOR skyblue]http://trakt.tv/pin/7920[/COLOR]', control.lang(30485).encode('utf-8'), control.lang(30486).encode('utf-8'), 'Trakt', control.lang(30487).encode('utf-8'), control.lang(30488).encode('utf-8')): raise Exception()
k = control.keyboard('', control.lang(30487).encode('utf-8'))
k.doModal() ; pin = k.getText() if k.isConfirmed() else None
if pin == '' or pin == None: raise Exception()
trakt_base = 'http://api-v2launch.trakt.tv'
headers = {'Content-Type': 'application/json', 'trakt-api-key': 'c029c80fd3d3a5284ee820ba1cf7f0221da8976b8ee5e6c4af714c22fc4f46fa', 'trakt-api-version': '2'}
post = {'client_id': 'c029c80fd3d3a5284ee820ba1cf7f0221da8976b8ee5e6c4af714c22fc4f46fa', 'client_secret': '90a1840447a1e39d350023263902fe7010338d19789e6260f18df56a8b07a68a', 'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob', 'grant_type': 'authorization_code', 'code': pin}
result = client.request(urlparse.urljoin(trakt_base, '/oauth/token'), post=json.dumps(post), headers=headers)
result = json.loads(result)
token, refresh = result['access_token'], result['refresh_token']
headers['Authorization'] = 'Bearer %s' % token
result = client.request(urlparse.urljoin(trakt_base, '/users/me'), headers=headers)
result = json.loads(result)
user = result['username']
control.setSetting(id='trakt.user', value=user)
control.setSetting(id='trakt.token', value=token)
control.setSetting(id='trakt.refresh', value=refresh)
raise Exception()
except:
control.openSettings('3.1')
示例13: authTrakt
def authTrakt():
try:
if getTraktCredentialsInfo() == True:
if control.yesnoDialog(control.lang(32511).encode('utf-8'), control.lang(32512).encode('utf-8'), '', 'Trakt'):
control.setSetting(id='trakt.user', value='')
control.setSetting(id='trakt.token', value='')
control.setSetting(id='trakt.refresh', value='')
raise Exception()
result = getTraktAsJson('/oauth/device/code', {'client_id': V2_API_KEY})
verification_url = (control.lang(32513) % result['verification_url']).encode('utf-8')
user_code = (control.lang(32514) % result['user_code']).encode('utf-8')
expires_in = int(result['expires_in'])
device_code = result['device_code']
interval = result['interval']
progressDialog = control.progressDialog
progressDialog.create('Trakt', verification_url, user_code)
for i in range(0, expires_in):
try:
if progressDialog.iscanceled(): break
time.sleep(1)
if not float(i) % interval == 0: raise Exception()
r = getTraktAsJson('/oauth/device/token', {'client_id': V2_API_KEY, 'client_secret': CLIENT_SECRET, 'code': device_code})
if 'access_token' in r: break
except:
pass
try: progressDialog.close()
except: pass
token, refresh = r['access_token'], r['refresh_token']
headers = {'Content-Type': 'application/json', 'trakt-api-key': V2_API_KEY, 'trakt-api-version': 2, 'Authorization': 'Bearer %s' % token}
result = client.request(urlparse.urljoin(BASE_URL, '/users/me'), headers=headers)
result = utils.json_loads_as_str(result)
user = result['username']
control.setSetting(id='trakt.user', value=user)
control.setSetting(id='trakt.token', value=token)
control.setSetting(id='trakt.refresh', value=refresh)
raise Exception()
except:
control.openSettings('3.1')
示例14: clearCacheSearch
def clearCacheSearch(self):
control.idle()
if control.yesnoDialog(control.lang(32056).encode('utf-8'), '', ''):
control.setSetting('tvsearch', '')
control.setSetting('moviesearch', '')
control.refresh()
示例15: getTrakt
def getTrakt(url, post = None, cache = True, check = True, timestamp = None, extended = False, direct = False, authentication = None):
try:
if not url.startswith('http://api-v2launch.trakt.tv'):
url = urlparse.urljoin('http://api-v2launch.trakt.tv', url)
if authentication:
valid = True
token = authentication['token']
refresh = authentication['refresh']
else:
valid = getTraktCredentialsInfo() == True
token = control.setting('accounts.informants.trakt.token')
refresh = control.setting('accounts.informants.trakt.refresh')
headers = {'Content-Type': 'application/json', 'trakt-api-key': base64.b64decode(traktCI), 'trakt-api-version': '2'}
if not post == None: post = json.dumps(post)
if direct or not valid:
result = client.request(url, post = post, headers = headers)
return result
headers['Authorization'] = 'Bearer %s' % token
result = client.request(url, post = post, headers = headers, output = 'extended', error = True)
if result and not (result[1] == '401' or result[1] == '405'):
if check: _cacheCheck()
if extended: return result[0], result[2]
else: return result[0]
try: code = str(result[1])
except: code = ''
if code.startswith('5') or (result and isinstance(result, basestring) and '<html' in result) or not result:
return _error(url = url, post = post, timestamp = timestamp, message = 33676)
oauth = 'http://api-v2launch.trakt.tv/oauth/token'
opost = {'client_id': base64.b64decode(traktCI), 'client_secret': base64.b64decode(traktCS), 'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob', 'grant_type': 'refresh_token', 'refresh_token': refresh}
result = client.request(oauth, post = json.dumps(opost), headers = headers, error = True)
try: code = str(result[1])
except: code = ''
if code.startswith('5') or not result or (result and isinstance(result, basestring) and '<html' in result):
return _error(url = url, post = post, timestamp = timestamp, message = 33676)
elif result and code in ['404']:
return _error(url = url, post = post, timestamp = timestamp, message = 33786)
elif result and code in ['401', '405']:
return _error(url = url, post = post, timestamp = timestamp, message = 33677)
result = json.loads(result)
token, refresh = result['access_token'], result['refresh_token']
control.setSetting(id='accounts.informants.trakt.token', value = token)
control.setSetting(id='accounts.informants.trakt.refresh', value = refresh)
headers['Authorization'] = 'Bearer %s' % token
result = client.request(url, post = post, headers = headers, output = 'extended')
if check: _cacheCheck()
if extended: return result[0], result[2]
else: return result[0]
except:
tools.Logger.error()
return None