From ca8ab32eaf1904c02fe275b9da5f421bd8a86b9d Mon Sep 17 00:00:00 2001 From: cohena Date: Sun, 30 Mar 2014 13:07:38 -0700 Subject: [PATCH 1/2] Handle login expiration --- lib/pygazelle/api.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/pygazelle/api.py b/lib/pygazelle/api.py index a778b93a..885b27d8 100644 --- a/lib/pygazelle/api.py +++ b/lib/pygazelle/api.py @@ -155,6 +155,11 @@ class GazelleAPI(object): params['auth'] = self.authkey params.update(kwargs) r = self.session.get(url, params=params, allow_redirects=False, timeout=self.default_timeout) + + if r.status_code == 302 and r.raw.headers['location'] == 'login.php': + self.logged_in_user = None + raise LoginException("User login expired") + self.past_request_timestamps.append(time.time()) return r.content From 729a105377029f25e870354b894df0c777814169 Mon Sep 17 00:00:00 2001 From: cohena Date: Sun, 30 Mar 2014 18:05:04 -0700 Subject: [PATCH 2/2] Adding 'keeplogged' argument to maintain what.cd api login --- lib/pygazelle/api.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/pygazelle/api.py b/lib/pygazelle/api.py index 885b27d8..3bdd7c2e 100644 --- a/lib/pygazelle/api.py +++ b/lib/pygazelle/api.py @@ -97,7 +97,8 @@ class GazelleAPI(object): loginpage = 'https://what.cd/login.php' data = {'username': self.username, - 'password': self.password} + 'password': self.password, + 'keeplogged': '1'} r = self.session.post(loginpage, data=data, timeout=self.default_timeout, headers=self.default_headers) self.past_request_timestamps.append(time.time()) if r.status_code != 200: