From 47fe42135cf921c969031457c4ca8fc110d2633d Mon Sep 17 00:00:00 2001 From: Florent Date: Thu, 19 Mar 2015 22:55:46 +0100 Subject: [PATCH] Browser: move load/dump_state to LoginBrowser It does not make sens to store a cookie for a non-logged browser. --- weboob/browser/browsers.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/weboob/browser/browsers.py b/weboob/browser/browsers.py index 8c5383bd..b5d51946 100644 --- a/weboob/browser/browsers.py +++ b/weboob/browser/browsers.py @@ -634,20 +634,6 @@ class PagesBrowser(DomainBrowser): for url in self._urls.itervalues(): url.browser = self - def load_state(self, state): - super(PagesBrowser, self).load_state(state) - if 'url' in state: - try: - self.location(state['url']) - except requests.exceptions.HTTPError: - pass - - def dump_state(self): - state = super(PagesBrowser, self).dump_state() - if self.page: - state['url'] = self.page.url - return state - def open(self, *args, **kwargs): """ Same method than @@ -772,6 +758,22 @@ class LoginBrowser(PagesBrowser): def do_logout(self): self.session.cookies.clear() + def load_state(self, state): + super(PagesBrowser, self).load_state(state) + if 'url' in state: + try: + self.location(state['url']) + except requests.exceptions.HTTPError: + pass + + def dump_state(self): + if not self.page.logged: + return {} + state = super(LoginBrowser, self).dump_state() + if self.page: + state['url'] = self.page.url + return state + class APIBrowser(DomainBrowser): def open(self, *args, **kwargs):