|
|
@@ -15,6 +15,16 @@ from .cookie_storage import CookieStorage
|
|
|
from .browser import StealthBrowser as Browser
|
|
|
|
|
|
|
|
|
+LOGIN_METHODS = {
|
|
|
+ 'g': self.login_google,
|
|
|
+ 'google': self.login_google,
|
|
|
+ 'v': self.login_vk,
|
|
|
+ 'vk': self.login_vk,
|
|
|
+ 'f': self.login_facebook,
|
|
|
+ 'facebook': self.login_facebook,
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
class RRClientException(Exception):
|
|
|
"""RR exception"""
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
@@ -87,32 +97,25 @@ class AuthenticationHandler:
|
|
|
|
|
|
def login(self):
|
|
|
"""Login user if needed"""
|
|
|
- LOGGER.info('"%s": start login, method: "%s"',
|
|
|
- self.username, self.login_method)
|
|
|
+ LOGGER.info(
|
|
|
+ '"%s": start login, method: "%s"',
|
|
|
+ self.username, self.login_method
|
|
|
+ )
|
|
|
cookies = CookieStorage.get_cookies(self.username)
|
|
|
if not cookies:
|
|
|
cookies = []
|
|
|
- LOGGER.info('"%s": no cookie, new login, method "%s"',
|
|
|
- self.username, self.login_method)
|
|
|
- if self.login_method not in [
|
|
|
- "g", "google", "v", "vk", "f", "facebook"
|
|
|
- ]:
|
|
|
+ LOGGER.info(
|
|
|
+ '"%s": no cookie, new login, method "%s"',
|
|
|
+ self.username, self.login_method
|
|
|
+ )
|
|
|
+ if self.login_method not in LOGIN_METHODS:
|
|
|
raise RRClientException("Not a valid login method.")
|
|
|
|
|
|
auth_text = requests.get("https://rivalregions.com").text
|
|
|
browser = Browser(showWindow=self.show_window)
|
|
|
|
|
|
- method_dict = {
|
|
|
- 'g': self.login_google,
|
|
|
- 'google': self.login_google,
|
|
|
- 'v': self.login_vk,
|
|
|
- 'vk': self.login_vk,
|
|
|
- 'f': self.login_facebook,
|
|
|
- 'facebook': self.login_facebook,
|
|
|
- }
|
|
|
-
|
|
|
- if self.login_method in method_dict:
|
|
|
- browser = method_dict[self.login_method](browser, auth_text)
|
|
|
+ if self.login_method in LOGIN_METHODS:
|
|
|
+ browser = LOGIN_METHODS[self.login_method](browser, auth_text)
|
|
|
else:
|
|
|
LOGGER.info(
|
|
|
'"%s": Invalid login method "%s"',
|
|
|
@@ -125,7 +128,8 @@ class AuthenticationHandler:
|
|
|
if browser_cookie:
|
|
|
expiry = browser_cookie.get('expiry', None)
|
|
|
value = browser_cookie.get('value', None)
|
|
|
- LOGGER.info('"%s": "value": %s, "expiry": {}',
|
|
|
+ LOGGER.info(
|
|
|
+ '"%s": "value": %s, "expiry": %s',
|
|
|
self.username, value, expiry
|
|
|
)
|
|
|
cookie = self.create_cookie(
|
|
|
@@ -141,9 +145,10 @@ class AuthenticationHandler:
|
|
|
for cookie_name in cookie_names:
|
|
|
browser_cookie = browser.get_cookie(cookie_name)
|
|
|
if browser_cookie:
|
|
|
- LOGGER.info('"{}": Get {}'.format(
|
|
|
+ LOGGER.info(
|
|
|
+ '"%s": Get %s',
|
|
|
self.username, cookie_name
|
|
|
- ))
|
|
|
+ )
|
|
|
expiry = browser_cookie.get('expiry', None)
|
|
|
value = browser_cookie.get('value', None)
|
|
|
cookies.append(
|
|
|
@@ -153,9 +158,10 @@ class AuthenticationHandler:
|
|
|
value
|
|
|
)
|
|
|
)
|
|
|
- LOGGER.info('"{}": "value": {}, "expiry": {}'.format(
|
|
|
+ LOGGER.info(
|
|
|
+ '"%s": "value": %s, "expiry": %s',
|
|
|
self.username, value, expiry
|
|
|
- ))
|
|
|
+ )
|
|
|
else:
|
|
|
raise NoCookieException()
|
|
|
|