From f1099ea067429ae5cbd424cdf753ec35f75a7cad Mon Sep 17 00:00:00 2001 From: Maxime Gasselin Date: Mon, 29 Apr 2019 15:03:55 +0200 Subject: [PATCH] [creditmutuel] Handle new page to differenciate immediate and differate cards Creditmutuel provides a new page for "fonctions" page. The precedent page still exists. We handle both now. Closes: 35599@sibi 39934@sibi 39670@sibi 10860@zendesk 11001@zendesk 11018@zendesk 11019@zendesk 11047@zendesk 11055@zendesk 11092@zendesk 11096@zendesk --- modules/creditmutuel/browser.py | 3 ++- modules/creditmutuel/pages.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/creditmutuel/browser.py b/modules/creditmutuel/browser.py index be2e24cf7c..d8b20825ee 100644 --- a/modules/creditmutuel/browser.py +++ b/modules/creditmutuel/browser.py @@ -127,7 +127,8 @@ class CreditMutuelBrowser(LoginBrowser, StatesMixin): cards_ope = URL(r'/(?P.*)fr/banque/pro/ENC_liste_oper', CardsOpePage) cards_ope2 = URL('/(?P.*)fr/banque/CRP8_SCIM_DEPCAR.aspx', CardPage2) - cards_hist_available = URL('/(?P.*)fr/banque/SCIM_default.aspx\?_tabi=C&_stack=SCIM_ListeActivityStep%3a%3a&_pid=ListeCartes&_fid=ChangeList&Data_ServiceListDatas_CurrentType=MyCards', NewCardsListPage) + cards_hist_available = URL('/(?P.*)fr/banque/SCIM_default.aspx\?_tabi=C&_stack=SCIM_ListeActivityStep%3a%3a&_pid=ListeCartes&_fid=ChangeList&Data_ServiceListDatas_CurrentType=MyCards', + '/(?P.*)fr/banque/PCS1_CARDFUNCTIONS.aspx', NewCardsListPage) cards_hist_available2 = URL('/(?P.*)fr/banque/SCIM_default.aspx', NewCardsListPage) internal_transfer = URL(r'/(?P.*)fr/banque/virements/vplw_vi.html', InternalTransferPage) diff --git a/modules/creditmutuel/pages.py b/modules/creditmutuel/pages.py index dcae9dec46..0855d34454 100644 --- a/modules/creditmutuel/pages.py +++ b/modules/creditmutuel/pages.py @@ -1952,9 +1952,9 @@ def parse(self, el): card_type_page = Link('//div/ul/li/a[contains(text(), "Fonctions")]', default=NotAvailable)(history_page.doc) if card_type_page: doc = self.page.browser.open(card_type_page).page.doc - card_type_line = doc.xpath('//tbody/tr[th[contains(text(), "Débit des paiements")]]') + card_type_line = doc.xpath('//tbody/tr[th[contains(text(), "Débit des paiements")]]') or doc.xpath(u'//div[div/div/p[contains(text(), "Débit des paiements")]]') if card_type_line: - if CleanText('./td')(card_type_line[0]) != 'Différé': + if 'Différé' not in CleanText('.//td')(card_type_line[0]): raise SkipItem() elif doc.xpath('//div/p[contains(text(), "Vous n\'avez pas l\'autorisation")]'): self.logger.warning("The user can't reach this page") -- GitLab