def login(self):
# If already logged in and active session everything is fine
if not self.isLoggedIn():
#remove old cookies
self.session.cookies.clear_session_cookies()
response = self.sendLogin(username, password)
# if login is correct but other session is active ask user if other session should be killed - T_227=SkyGoExtra
if response['resultCode'] in ['T_206', 'T_227']:
kill_session = False
if autoKillSession == 'true':
kill_session = True
if not kill_session:
kill_session = xbmcgui.Dialog().yesno('Sie sind bereits eingeloggt!','Sie sind bereits auf einem anderen Geraet oder mit einem anderen Browser eingeloggt. Wollen Sie die bestehende Sitzung beenden und sich jetzt hier neu anmelden?')
if kill_session:
# Kill all Sessions (including ours)
self.killSessions()
# Session killed so login again
self.sendLogin(username, password)
# Activate Session
self.isLoggedIn()
# Save the cookies
with open(self.cookiePath, 'w') as f:
pickle.dump(requests.utils.dict_from_cookiejar(self.session.cookies), f)
return True
return False
elif response['resultMessage'] == 'KO':
xbmcgui.Dialog().notification('Login Fehler', 'Login fehlgeschlagen. Bitte Login Daten ueberpruefen', icon=xbmcgui.NOTIFICATION_ERROR)
return False
elif response['resultCode'] == 'T_100':
# Activate Session with new test if user is logged in
self.isLoggedIn()
return True
else:
return True
# If any case is not matched return login failed
return False
评论列表
文章目录