From 90b411dbf11ce2251c5ea0caf2184a3dec707a61 Mon Sep 17 00:00:00 2001 From: Maxime Gasselin Date: Thu, 31 Jan 2019 16:35:42 +0100 Subject: [PATCH] [bp] Fix url for iban and coming These url seem to have changed, here we get a safier method to get them. Closes: 19355@sibi --- modules/bp/browser.py | 3 ++- modules/bp/pages/accountlist.py | 17 +++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/modules/bp/browser.py b/modules/bp/browser.py index 0c6dd3ad7e..fdcbdda680 100644 --- a/modules/bp/browser.py +++ b/modules/bp/browser.py @@ -106,7 +106,8 @@ class BPBrowser(LoginBrowser, StatesMixin): deferred_card_history = URL(r'/voscomptes/canalXHTML/CB/releveCB/init-mouvementsCarteDD.ea\?compte.numero=(?P\w+)&indexCarte=(?P\d+)&typeListe=(?P\d+)', AccountHistory) deferred_card_history_multi = URL(r'/voscomptes/canalXHTML/CB/releveCB/preparerRecherche-mouvementsCarteDD.ea\?compte.numero=(?P\w+)&indexCarte=(?P\d+)&typeListe=(?P\d+)', AccountHistory) # &typeRecherche=10 par_account_checking_coming = URL('/voscomptes/canalXHTML/CCP/releves_ccp_encours/preparerRecherche-releve_ccp_encours.ea\?compte.numero=(?P.*)&typeRecherche=1', - '/voscomptes/canalXHTML/CB/releveCB/init-mouvementsCarteDD.ea\?compte.numero=(?P.*)&typeListe=1&typeRecherche=10', AccountHistory) + '/voscomptes/canalXHTML/CB/releveCB/init-mouvementsCarteDD.ea\?compte.numero=(?P.*)&typeListe=1&typeRecherche=10', + '/voscomptes/canalXHTML/CCP/releves_ccp_encours/preparerRecherche-releve_ccp_encours.ea\?indexCompte', AccountHistory) par_account_savings_and_invests_history = URL('/voscomptes/canalXHTML/CNE/releveCNE/init-releve_cne.ea\?typeRecherche=10&compte.numero=(?P.*)', '/voscomptes/canalXHTML/CNE/releveCNE/releveCNE-releve_cne.ea', AccountHistory) diff --git a/modules/bp/pages/accountlist.py b/modules/bp/pages/accountlist.py index 4160eb0e1c..f2874f910c 100644 --- a/modules/bp/pages/accountlist.py +++ b/modules/bp/pages/accountlist.py @@ -30,7 +30,7 @@ from weboob.browser.elements import ListElement, ItemElement, method, TableElement from weboob.browser.pages import LoggedPage, RawPage, PartialHTMLPage, HTMLPage from weboob.browser.filters.html import Link, TableCell -from weboob.browser.filters.standard import CleanText, CleanDecimal, Regexp, Env, Field, BrowserURL, Currency, Async, Date, Format +from weboob.browser.filters.standard import CleanText, CleanDecimal, Regexp, Env, Field, Currency, Async, Date, Format from weboob.exceptions import BrowserUnavailable from weboob.tools.compat import urljoin, unicode @@ -74,9 +74,9 @@ def obj_coming(self): has_coming = False coming = 0 - self.page.browser.open(Field('url')(self)) - coming_operations = self.page.browser.open( - BrowserURL('par_account_checking_coming', accountId=Field('id'))(self)) + details_page = self.page.browser.open(Field('url')(self)) + coming_op_link = Regexp(Link(u'//a[contains(text(), "Opérations à venir")]'), r'../(.*)')(details_page.page.doc) + coming_operations = self.page.browser.open(self.page.browser.BASEURL + '/voscomptes/canalXHTML/CCP/' + coming_op_link) if CleanText('//span[@id="amount_total"]')(coming_operations.page.doc): has_coming = True @@ -91,10 +91,11 @@ def obj_coming(self): return NotAvailable def obj_iban(self): - response = self.page.browser.open( - '/voscomptes/canalXHTML/comptesCommun/imprimerRIB/init-imprimer_rib.ea?numeroCompte=%s' % Field('id')( - self)) - return response.page.get_iban() + rib_link = Link('//a[abbr[contains(text(), "RIB")]]', default=NotAvailable)(self.el) + if rib_link: + response = self.page.browser.open(rib_link) + return response.page.get_iban() + return NotAvailable def obj_type(self): types = {'comptes? bancaires?': Account.TYPE_CHECKING, -- GitLab