handle login errors
This commit is contained in:
parent
33bbe6d451
commit
e52c6d6b18
2 changed files with 12 additions and 2 deletions
|
|
@ -22,7 +22,7 @@ from urlparse import urlsplit
|
|||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
|
||||
from .pages import LoginPage, IndexPage
|
||||
from .pages import LoginPage, IndexPage, ErrorPage
|
||||
|
||||
|
||||
__all__ = ['CaisseEpargne']
|
||||
|
|
@ -34,6 +34,7 @@ class CaisseEpargne(BaseBrowser):
|
|||
CERTHASH = '165faeb5bd1bad22bf52029e3c09bf540199402a1fa70aa19e9d5f92d562ff69'
|
||||
PAGES = {'https://[^/]+.caisse-epargne.fr/particuliers/ind_pauthpopup.aspx.*': LoginPage,
|
||||
'https://[^/]+.caisse-epargne.fr/Portail.aspx': IndexPage,
|
||||
'https://[^/]+.caisse-epargne.fr/login.aspx': ErrorPage,
|
||||
}
|
||||
|
||||
def is_logged(self):
|
||||
|
|
@ -62,6 +63,8 @@ class CaisseEpargne(BaseBrowser):
|
|||
|
||||
if not self.is_logged():
|
||||
raise BrowserIncorrectPassword()
|
||||
if self.is_on_page(ErrorPage):
|
||||
raise BrowserIncorrectPassword(self.page.get_error())
|
||||
|
||||
v = urlsplit(self.page.url)
|
||||
self.DOMAIN = v.netloc
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ from weboob.capabilities.bank import Account
|
|||
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
|
||||
|
||||
|
||||
__all__ = ['LoginPage', 'IndexPage']
|
||||
__all__ = ['LoginPage', 'ErrorPage', 'IndexPage']
|
||||
|
||||
|
||||
class LoginPage(BasePage):
|
||||
|
|
@ -54,6 +54,13 @@ class LoginPage(BasePage):
|
|||
self.browser.form.action = m.group(1)
|
||||
self.browser.submit(nologin=True)
|
||||
|
||||
class ErrorPage(BasePage):
|
||||
def get_error(self):
|
||||
try:
|
||||
return self.parser.select(self.document.getroot(), 'div.messErreur', 1).text.strip()
|
||||
except BrokenPageError:
|
||||
return None
|
||||
|
||||
class Transaction(FrenchTransaction):
|
||||
PATTERNS = [(re.compile('^CB (?P<text>.*?) FACT (?P<dd>\d{2})(?P<mm>\d{2})(?P<yy>\d{2})'),
|
||||
FrenchTransaction.TYPE_CARD),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue