From 038a341f3aae68db5bc2bcb4c30cfa53950fd773 Mon Sep 17 00:00:00 2001 From: Baptiste Delpey Date: Mon, 25 May 2015 14:02:23 +0200 Subject: [PATCH] we now skip message pages to get_investment on banquepopulaire --- modules/banquepopulaire/browser.py | 6 +++++- modules/banquepopulaire/pages.py | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/modules/banquepopulaire/browser.py b/modules/banquepopulaire/browser.py index d8a6ca23..4d029c80 100644 --- a/modules/banquepopulaire/browser.py +++ b/modules/banquepopulaire/browser.py @@ -24,7 +24,7 @@ from weboob.deprecated.browser import Browser, BrowserIncorrectPassword, BrokenP from .pages import LoginPage, IndexPage, AccountsPage, AccountsFullPage, CardsPage, TransactionsPage, \ UnavailablePage, RedirectPage, HomePage, Login2Page, \ - LineboursePage, NatixisPage, InvestmentNatixisPage, InvestmentLineboursePage + LineboursePage, NatixisPage, InvestmentNatixisPage, InvestmentLineboursePage, MessagePage __all__ = ['BanquePopulaire'] @@ -55,6 +55,7 @@ class BanquePopulaire(Browser): 'https://[^/]+/portailinternet/Transactionnel/Pages/CyberIntegrationPage.aspx': HomePage, 'https://[^/]+/WebSSO_BP/_(?P\d+)/index.html\?transactionID=(?P.*)': Login2Page, 'https://www.linebourse.fr/ReroutageSJR': LineboursePage, + 'https://www.linebourse.fr/DetailMessage.*': MessagePage, 'https://www.linebourse.fr/Portefeuille': InvestmentLineboursePage, 'https://www.assurances.natixis.fr/espaceinternet-bp/views/common.*': NatixisPage, 'https://www.assurances.natixis.fr/espaceinternet-bp/views/contrat.*': InvestmentNatixisPage, @@ -193,6 +194,9 @@ class BanquePopulaire(Browser): self.location(url, urllib.urlencode(params)) if self.is_on_page(LineboursePage): self.location('https://www.linebourse.fr/Portefeuille') + while self.is_on_page(MessagePage): + self.page.skip() + self.location('https://www.linebourse.fr/Portefeuille') elif self.is_on_page(NatixisPage): self.page.submit_form() return self.page.get_investments() diff --git a/modules/banquepopulaire/pages.py b/modules/banquepopulaire/pages.py index bafd027e..6cfee461 100644 --- a/modules/banquepopulaire/pages.py +++ b/modules/banquepopulaire/pages.py @@ -710,3 +710,12 @@ class InvestmentNatixisPage(_BasePage): if value == '-': return NotAvailable return Decimal(Transaction.clean_amount(value)) + +class MessagePage(_BasePage): + def skip(self): + try: + self.browser.select_form(name="leForm") + except FormNotFoundError: + pass + else: + self.browser.submit(nologin=True)