From 7175b1c29c2e1a354f7927698d78df4d17d11f57 Mon Sep 17 00:00:00 2001 From: Sylvie Ye Date: Wed, 18 Jul 2018 17:31:05 +0200 Subject: [PATCH] [lcl] change xpath for transfer label On transfer validation page, get reason with cut 'Motif : ' and skip html comment. Get reason to check label error with 'transfer_check_label' instead of assert without message. remove unused parameter on handle response: - amount - reason - exec_date Closes: 14399@sibi 8735@sibi 4979@sibi --- modules/lcl/browser.py | 2 +- modules/lcl/module.py | 4 ++++ modules/lcl/pages.py | 7 ++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/lcl/browser.py b/modules/lcl/browser.py index de0ab86f16..22e8938a01 100644 --- a/modules/lcl/browser.py +++ b/modules/lcl/browser.py @@ -456,7 +456,7 @@ def init_transfer(self, account, recipient, amount, reason=None, exec_date=None) self.page.transfer(amount, reason) else: self.page.deferred_transfer(amount, reason, exec_date) - return self.page.handle_response(account, recipient, amount, reason, exec_date) + return self.page.handle_response(account, recipient) @need_login def execute_transfer(self, transfer): diff --git a/modules/lcl/module.py b/modules/lcl/module.py index 3398ba80ef..2dfeb5ddc8 100644 --- a/modules/lcl/module.py +++ b/modules/lcl/module.py @@ -142,6 +142,10 @@ def init_transfer(self, transfer, **params): def execute_transfer(self, transfer, **params): return self.browser.execute_transfer(transfer) + def transfer_check_label(self, old, new): + old = re.sub(r'/', '', old).strip() + return super(LCLModule, self).transfer_check_label(old, new) + @only_for_websites('par') def iter_contacts(self): return self.browser.get_advisor() diff --git a/modules/lcl/pages.py b/modules/lcl/pages.py index 3af7e86ad6..f7263f4d55 100644 --- a/modules/lcl/pages.py +++ b/modules/lcl/pages.py @@ -969,7 +969,7 @@ def get_id_from_response(self, acc): return acc_ids[0] return acc_ids[1] - def handle_response(self, account, recipient, amount, reason, exec_date): + def handle_response(self, account, recipient): transfer = Transfer() transfer._account = account @@ -997,8 +997,9 @@ def handle_response(self, account, recipient, amount, reason, exec_date): Regexp(CleanText('//div[@class="topBox"]/div[@class="date"]'), r'(\d{2}\/\d{2}\/\d{4})'), dayfirst=True )(self.doc) - transfer.label = reason - assert reason in CleanText('//div[@class="motif"]')(self.doc) + # skip html comment with filtering on text() content + transfer.label = CleanText('//div[@class="motif"]/text()[contains(., "Motif : ")]', + replace=[('Motif : ','')])(self.doc) return transfer -- GitLab