[mangoxo] fix login

pull/243/head
Mike Fährmann 5 years ago
parent 8acbe863cb
commit 1c665fd4bd
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -34,6 +34,11 @@ class MangoxoExtractor(Extractor):
def _login_impl(self, username, password): def _login_impl(self, username, password):
self.log.info("Logging in as %s", username) self.log.info("Logging in as %s", username)
page = self.request(self.root + "/login/").text
token = text.extract(page, 'id="loginToken" value="', '"')[0]
if not token:
self.log.warning("failed to extract 'loginToken'")
url = self.root + "/login/loginxmm" url = self.root + "/login/loginxmm"
headers = { headers = {
"X-Requested-With": "XMLHttpRequest", "X-Requested-With": "XMLHttpRequest",
@ -42,12 +47,13 @@ class MangoxoExtractor(Extractor):
data = { data = {
"name": username, "name": username,
"password": password, "password": password,
"loginToken": token,
} }
response = self.request(url, method="POST", headers=headers, data=data) response = self.request(url, method="POST", headers=headers, data=data)
session = response.cookies.get("SESSION")
if not session: if response.json().get("result") != "1":
raise exception.AuthenticationError() raise exception.AuthenticationError()
return {"SESSION": session} return {"SESSION": self.session.cookies.get("SESSION")}
@staticmethod @staticmethod
def _total_pages(page): def _total_pages(page):

Loading…
Cancel
Save