diff --git a/modules/societegenerale/sgpe/browser.py b/modules/societegenerale/sgpe/browser.py index f7a9062e8af5966642694bccd9268e7cc95a0053..30424f6f5d9d61f43fbfb68797851cc143d5ca9f 100644 --- a/modules/societegenerale/sgpe/browser.py +++ b/modules/societegenerale/sgpe/browser.py @@ -27,8 +27,8 @@ from weboob.capabilities.bank import AccountNotFound from .pages import ( - LoginPage, CardsPage, CardHistoryPage, - ProfileProPage, ProfileEntPage, ChangePassPage, SubscriptionPage + LoginPage, CardsPage, CardHistoryPage, IncorrectLoginPage, + ProfileProPage, ProfileEntPage, ChangePassPage, SubscriptionPage, ) from .json_pages import AccountsJsonPage, BalancesJsonPage, HistoryJsonPage, BankStatementPage @@ -166,6 +166,7 @@ class SGProfessionalBrowser(SGEnterpriseBrowser): MENUID = 'SBOREL' CERTHASH = '9f5232c9b2283814976608bfd5bba9d8030247f44c8493d8d205e574ea75148e' + incorrect_login = URL('/authent.html', IncorrectLoginPage) profile = URL('/gao/modifier-donnees-perso-saisie.html', ProfileProPage) bank_statement_menu = URL('/icd/syd-front/data/syd-rce-accederDepuisMenu.json', BankStatementPage) diff --git a/modules/societegenerale/sgpe/pages.py b/modules/societegenerale/sgpe/pages.py index 112c7c4ad334ca117c4bdc6dc545242affbd0599..91073a071916baec3ad8fbfdecb7f366cf2afda7 100644 --- a/modules/societegenerale/sgpe/pages.py +++ b/modules/societegenerale/sgpe/pages.py @@ -33,7 +33,7 @@ from weboob.tools.capabilities.bank.transactions import FrenchTransaction from weboob.capabilities.profile import Profile, Person from weboob.capabilities.bill import Document, Subscription -from weboob.exceptions import ActionNeeded +from weboob.exceptions import ActionNeeded, BrowserIncorrectPassword from weboob.tools.json import json from weboob.capabilities.base import NotAvailable @@ -238,3 +238,9 @@ class item(ItemElement): '/Pgn/PrintServlet?PageID=ReleveRIE&MenuID=BANRELRIE&urlTypeTransfert=ipdf&REPORTNAME=ReleveInteretElectronique.sgi&numeroRie=%s', Regexp(Attr('./td[2]/a', 'onclick'), r"impression\('(.*)'\);") ) + + +class IncorrectLoginPage(SGPEPage): + def on_load(self): + if self.doc.xpath('//div[@class="ngo_mu_message" and contains(text(), "saisies sont incorrectes")]'): + raise BrowserIncorrectPassword(CleanText('//div[@class="ngo_mu_message"]')(self.doc))