Browser: move load/dump_state to LoginBrowser

It does not make sens to store a cookie for a non-logged browser.
This commit is contained in:
Florent 2015-03-19 22:55:46 +01:00
commit 47fe42135c

View file

@ -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):