Fix some strange effects with login
This commit is contained in:
parent
34a71f9ef8
commit
8c0dbe18f0
2 changed files with 12 additions and 9 deletions
|
|
@ -41,8 +41,13 @@ class ChampslibresBackend(BaseBackend, ICapBook):
|
||||||
BROWSER = ChampslibresBrowser
|
BROWSER = ChampslibresBrowser
|
||||||
|
|
||||||
def create_default_browser(self):
|
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())
|
self.config['password'].get())
|
||||||
|
# we have to force the login before to lauch any actions
|
||||||
|
browser.login()
|
||||||
|
return browser
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_rented(self):
|
def get_rented(self):
|
||||||
for book in self.browser.get_rented_books_list():
|
for book in self.browser.get_rented_books_list():
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,7 @@ class ChampslibresBrowser(BaseBrowser):
|
||||||
'http://.*/index.aspx\?IdPage=429': HistoryPage,
|
'http://.*/index.aspx\?IdPage=429': HistoryPage,
|
||||||
'.*patroninfo.*': RentedPage,
|
'.*patroninfo.*': RentedPage,
|
||||||
}
|
}
|
||||||
|
iduser = None
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
BaseBrowser.__init__(self, *args, **kwargs)
|
|
||||||
|
|
||||||
def is_logged(self):
|
def is_logged(self):
|
||||||
|
|
||||||
|
|
@ -51,16 +49,16 @@ class ChampslibresBrowser(BaseBrowser):
|
||||||
if not self.is_on_page(HomePage):
|
if not self.is_on_page(HomePage):
|
||||||
self.location('https://sbib.si.leschampslibres.fr/iii/cas/login?null', no_login=True)
|
self.location('https://sbib.si.leschampslibres.fr/iii/cas/login?null', no_login=True)
|
||||||
self.page.login(self.username, self.password)
|
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():
|
if not self.is_logged():
|
||||||
raise BrowserIncorrectPassword()
|
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):
|
def get_rented_books_list(self):
|
||||||
if not self.is_on_page(RentedPage):
|
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()
|
return self.page.get_list()
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue