diff --git a/modules/caissedepargne/pages.py b/modules/caissedepargne/pages.py index 1f44ec8b87e0a51688d8e3b3991036197180663c..393b1b33c019304bb2cabce085e2b9543a664512 100644 --- a/modules/caissedepargne/pages.py +++ b/modules/caissedepargne/pages.py @@ -43,7 +43,7 @@ from weboob.tools.capabilities.bank.iban import is_rib_valid, rib2iban, is_iban_valid from weboob.tools.captcha.virtkeyboard import GridVirtKeyboard from weboob.tools.compat import unicode -from weboob.exceptions import NoAccountsException, BrowserUnavailable +from weboob.exceptions import NoAccountsException, BrowserUnavailable, ActionNeeded from weboob.browser.filters.json import Dict def MyDecimal(*args, **kwargs): @@ -207,6 +207,14 @@ def build_doc(self, content): return super(IndexPage, self).build_doc(content) def on_load(self): + + # For now, we have to handle this because after this warning message, + # the user is disconnected (even if all others account are reachable) + if 'NA_OIC_QCF' in self.browser.url: + message = CleanText(self.doc.xpath('//span[contains(@id, "MM_NA_OIC_QCF")]/p'))(self) + if message and "investissement financier (QCF) n’est plus valide à ce jour ou que vous avez refusé d’y répondre" in message: + raise ActionNeeded(message) + # This page is sometimes an useless step to the market website. bourse_link = Link(u'//div[@id="MM_COMPTE_TITRE_pnlbourseoic"]//a[contains(text(), "Accédez à la consultation")]', default=None)(self.doc)