diff --git a/modules/barclays/browser.py b/modules/barclays/browser.py index d491b3d3..69febaae 100644 --- a/modules/barclays/browser.py +++ b/modules/barclays/browser.py @@ -21,7 +21,7 @@ from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword from .pages import LoginPage, Login2Page, IndexPage, AccountsPage, TransactionsPage, \ - CardPage, ValuationPage, LoanPage + CardPage, ValuationPage, LoanPage, MarketPage __all__ = ['Barclays'] @@ -38,6 +38,7 @@ class Barclays(BaseBrowser): 'https://.*.barclays.fr/barclaysnetV2/cartes.do.*': CardPage, 'https://.*.barclays.fr/barclaysnetV2/valuationViewBank.do.*': ValuationPage, 'https://.*.barclays.fr/barclaysnetV2/pret.do.*': LoanPage, + 'https://.*.barclays.fr/barclaysnetV2/titre.do.*': MarketPage, } def __init__(self, secret, *args, **kwargs): @@ -101,7 +102,7 @@ class Barclays(BaseBrowser): self.location(account._link) - assert self.is_on_page((TransactionsPage, ValuationPage, LoanPage)) + assert self.is_on_page((TransactionsPage, ValuationPage, LoanPage, MarketPage)) for tr in self.page.get_history(): yield tr diff --git a/modules/barclays/pages.py b/modules/barclays/pages.py index 76163522..34d36cf6 100644 --- a/modules/barclays/pages.py +++ b/modules/barclays/pages.py @@ -28,7 +28,7 @@ from weboob.tools.capabilities.bank.transactions import FrenchTransaction __all__ = ['LoginPage', 'Login2Page', 'IndexPage', 'AccountsPage', 'TransactionsPage', - 'CardPage', 'ValuationPage', 'LoanPage'] + 'CardPage', 'ValuationPage', 'LoanPage', 'MarketPage'] class LoginPage(BasePage): @@ -127,8 +127,12 @@ class Transaction(FrenchTransaction): FrenchTransaction.TYPE_UNKNOWN), ] +class HistoryBasePage(BasePage): + def get_history(self): + self.logger.warning('Do not support account of type %s' % type(self).__name__) + return iter([]) -class TransactionsPage(BasePage): +class TransactionsPage(HistoryBasePage): def get_history(self): for tr in self.document.xpath('//table[@id="operation"]/tbody/tr'): tds = tr.findall('td') @@ -152,7 +156,7 @@ class TransactionsPage(BasePage): yield t -class CardPage(BasePage): +class CardPage(HistoryBasePage): def get_history(self): debit_date = None coming = True @@ -182,10 +186,11 @@ class CardPage(BasePage): t.set_amount(amount) yield t -class ValuationPage(BasePage): - def get_history(self): - return iter([]) +class ValuationPage(HistoryBasePage): + pass -class LoanPage(BasePage): - def get_history(self): - return iter([]) +class LoanPage(HistoryBasePage): + pass + +class MarketPage(HistoryBasePage): + pass