diff --git a/modules/societegenerale/browser.py b/modules/societegenerale/browser.py index 730f02a5..3a1860cf 100644 --- a/modules/societegenerale/browser.py +++ b/modules/societegenerale/browser.py @@ -19,7 +19,7 @@ from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword -from .pages import LoginPage, AccountsList +from .pages import LoginPage, AccountsList, BadLoginPage __all__ = ['SocieteGenerale'] @@ -32,6 +32,7 @@ class SocieteGenerale(BaseBrowser): ENCODING = None # refer to the HTML encoding PAGES = { 'https://particuliers.societegenerale.fr/.*': LoginPage, + 'https://.*.societegenerale.fr//acces/authlgn.html': BadLoginPage, '.*restitution/cns_listeprestation.html': AccountsList, # '.*restitution/cns_detailCav.html.*': AccountHistory, } @@ -55,7 +56,8 @@ class SocieteGenerale(BaseBrowser): self.page.login(self.username, self.password) - if self.is_on_page(LoginPage): + if self.is_on_page(LoginPage) or \ + self.is_on_page(BadLoginPage): raise BrowserIncorrectPassword() def get_accounts_list(self): diff --git a/modules/societegenerale/pages/__init__.py b/modules/societegenerale/pages/__init__.py index 9083b988..ffbc07ed 100644 --- a/modules/societegenerale/pages/__init__.py +++ b/modules/societegenerale/pages/__init__.py @@ -19,10 +19,11 @@ from .accounts_list import AccountsList -from .login import LoginPage +from .login import LoginPage, BadLoginPage class AccountPrelevement(AccountsList): pass __all__ = ['LoginPage', + 'BadLoginPage', 'AccountsList', ] diff --git a/modules/societegenerale/pages/login.py b/modules/societegenerale/pages/login.py index 6bc2818d..6f87013f 100644 --- a/modules/societegenerale/pages/login.py +++ b/modules/societegenerale/pages/login.py @@ -78,3 +78,6 @@ class LoginPage(BasePage): self.browser['codsec'] = img.get_codes(password) self.browser['cryptocvcs'] = infos["cryptogramme"] self.browser.submit() + +class BadLoginPage(BasePage): + pass