From bd1eb1925082474611bfebaa5f5b078a0fefd56c Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 16 Nov 2010 14:12:21 +0100 Subject: [PATCH] check if transfer failed --- weboob/backends/bp/pages/transfer.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/weboob/backends/bp/pages/transfer.py b/weboob/backends/bp/pages/transfer.py index d7a280c5..1c396b98 100644 --- a/weboob/backends/bp/pages/transfer.py +++ b/weboob/backends/bp/pages/transfer.py @@ -16,6 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +from weboob.capabilities.bank import TransferError from weboob.tools.browser import BasePage import re @@ -24,28 +25,28 @@ __all__ = ['TransferChooseAccounts', 'CompleteTransfer', 'TransferConfirm', 'Tra class TransferChooseAccounts(BasePage): - + def set_accouts(self, from_account, to_account): self.browser.select_form(name="AiguillageForm") self.browser["idxCompteEmetteur"] = [from_account.id] self.browser["idxCompteReceveur"] = [to_account.id] self.browser.submit() - + class CompleteTransfer(BasePage): - + def complete_transfer(self, amount): self.browser.select_form(name="VirementNationalForm") self.browser["montant"] = str(amount) self.browser.submit() - + class TransferConfirm(BasePage): - + def confirm(self): self.browser.location("https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/virementsafran/virementnational/4-virementNational.ea") class TransferSummary(BasePage): - + def get_transfer_id(self): pattern = "Votre virement N.+ ([0-9]+) " regex = re.compile(pattern) @@ -55,6 +56,10 @@ class TransferSummary(BasePage): except UnicodeDecodeError, error: text = error.object match = regex.search(text) + if not match: + self.browser.logger.error('Unable to parse the text result: %r' % text) + raise TransferError('Unable to process transfer: %r' % text) + id_transfer = match.groups()[0] return id_transfer