diff --git a/modules/barclays/browser.py b/modules/barclays/browser.py index 08574d4e85547f8990dc8f3a26c8bd3f9831d456..ae252b919a90c7f1cbf73c06037d1d46877e7a78 100644 --- a/modules/barclays/browser.py +++ b/modules/barclays/browser.py @@ -131,11 +131,17 @@ def iter_accounts(self): traccounts = [] for account in accounts: - self._go_to_account(account) + if account.type == Account.TYPE_CHECKING: + # Only checking accounts have an IBAN + self._go_to_account(account) + account.iban = self.iban.open().get_iban() if self.page.has_iban() else NotAvailable + if account.type == Account.TYPE_LOAN: + self._go_to_account(account) account = self.page.get_loan_attributes(account) if account.type == Account.TYPE_CARD: + self._go_to_account(account) if self.page.is_immediate_card(): account.type = Account.TYPE_CHECKING @@ -143,11 +149,11 @@ def iter_accounts(self): continue account._attached_account = self.page.do_account_attachment([a for a in accounts if a.type == Account.TYPE_CHECKING]) + if account.type == Account.TYPE_REVOLVING_CREDIT: + self._go_to_account(account) account = self.page.get_revolving_attributes(account) - account.iban = self.iban.open().get_iban() if self.page.has_iban() else NotAvailable - traccounts.append(account) self.cache['accounts'] = traccounts diff --git a/modules/barclays/pages.py b/modules/barclays/pages.py index e703dd176ca399d3cea994adb522e772117b0df5..c80287fe1e74c56ecbcf4cc1d79ef41f7d47b48b 100644 --- a/modules/barclays/pages.py +++ b/modules/barclays/pages.py @@ -109,6 +109,7 @@ class AccountsPage(StatefulPage): 'E VIE MILLEIS': Account.TYPE_LIFE_INSURANCE, 'BANQUE PRIVILEGE': Account.TYPE_REVOLVING_CREDIT, 'PRET PERSONNEL': Account.TYPE_LOAN, + 'CREDIT IMMOBILIE': Account.TYPE_LOAN, } ACCOUNT_TYPE_TO_STR = {Account.TYPE_MARKET: 'TTR', Account.TYPE_CARD: 'CRT' @@ -470,7 +471,7 @@ def get_revolving_attributes(self, account): class LoanAccountPage(AbstractAccountPage): def is_here(self): - return bool(CleanText('//span[contains(., "Détail compte")]')(self.doc)) + return bool(CleanText('//span[contains(., "prêt")]')(self.doc)) def has_iban(self): return False