def login(self):
if self.username == '':
dialog = xbmcgui.Dialog()
self.username = dialog.input(self.localized(30202), type=xbmcgui.INPUT_ALPHANUM)
if self.username != '':
self.addon.setSetting(id='username', value=self.username)
else:
sys.exit()
if self.password == '':
dialog = xbmcgui.Dialog()
self.password = dialog.input(self.localized(30203), type=xbmcgui.INPUT_ALPHANUM, option=xbmcgui.ALPHANUM_HIDE_INPUT)
if self.password != '':
self.addon.setSetting(id='password', value=self.password)
else:
sys.exit()
if self.username != '' and self.password != '':
url = self.api_url + '/ssocookie'
headers = {"Accept": "*/*",
"Content-type": "application/x-www-form-urlencoded",
"Origin": "https://id.sonyentertainmentnetwork.com",
"Accept-Language": "en-US,en;q=0.8",
"Accept-Encoding": "deflate",
"User-Agent": self.ua_android_tv,
"X-Requested-With": "com.snei.vue.atv",
"Connection": "Keep-Alive"
}
payload = 'authentication_type=password&username='+urllib.quote_plus(self.username)+'&password='+urllib.quote_plus(self.password)+'&client_id='+self.andriod_tv_client_id
r = requests.post(url, headers=headers, cookies=self.load_cookies(), data=payload, verify=self.verify)
json_source = r.json()
self.save_cookies(r.cookies)
if 'npsso' in json_source:
npsso = json_source['npsso']
self.addon.setSetting(id='npsso', value=npsso)
elif 'authentication_type' in json_source:
if json_source['authentication_type'] == 'two_step':
ticket_uuid = json_source['ticket_uuid']
self.two_step_verification(ticket_uuid)
elif 'error_description' in json_source:
msg = json_source['error_description']
self.notification_msg(self.localized(30200), msg)
sys.exit()
else:
# Something went wrong during login
self.notification_msg(self.localized(30200), self.localized(30201))
sys.exit()
评论列表
文章目录