Fix some strange effects with login

This commit is contained in:
Florent Fourcot 2012-03-15 21:18:40 +01:00 committed by Romain Bignon
commit 8c0dbe18f0
2 changed files with 12 additions and 9 deletions

View file

@ -41,8 +41,13 @@ class ChampslibresBackend(BaseBackend, ICapBook):
BROWSER = ChampslibresBrowser
def create_default_browser(self):
return self.create_browser(self.config['login'].get(),
browser = self.create_browser(self.config['login'].get(),
self.config['password'].get())
# we have to force the login before to lauch any actions
browser.login()
return browser
def get_rented(self):
for book in self.browser.get_rented_books_list():

View file

@ -36,9 +36,7 @@ class ChampslibresBrowser(BaseBrowser):
'http://.*/index.aspx\?IdPage=429': HistoryPage,
'.*patroninfo.*': RentedPage,
}
def __init__(self, *args, **kwargs):
BaseBrowser.__init__(self, *args, **kwargs)
iduser = None
def is_logged(self):
@ -51,16 +49,16 @@ class ChampslibresBrowser(BaseBrowser):
if not self.is_on_page(HomePage):
self.location('https://sbib.si.leschampslibres.fr/iii/cas/login?null', no_login=True)
self.page.login(self.username, self.password)
# Get home and get ID
self.location('http://opac.si.leschampslibres.fr/iii/encore/home?lang=frf', no_login=True)
self.iduser = self.page.get_id()
self.logger.debug('Get ID ' + self.iduser)
if not self.is_logged():
raise BrowserIncorrectPassword()
# Get home and get ID
self.location('http://opac.si.leschampslibres.fr/iii/encore/home?lang=frf')
self.id = self.page.get_id()
self.logger.debug('Get ID ' + self.id)
def get_rented_books_list(self):
if not self.is_on_page(RentedPage):
self.location('https://sbib.si.leschampslibres.fr/patroninfo~S1*frf/1123477/items')
self.location('https://sbib.si.leschampslibres.fr/patroninfo~S1*frf/%s/items' % self.iduser)
return self.page.get_list()
# TODO