diff --git a/modules/spirica/browser.py b/modules/spirica/browser.py index 1ed28f16e9883ad2b0d77e63fdd6a2b01cb6c64b..fcc0cb9ea49b90aa3435f32bd3de9aa8aae7ec0d 100644 --- a/modules/spirica/browser.py +++ b/modules/spirica/browser.py @@ -21,7 +21,7 @@ from weboob.browser import LoginBrowser, URL, need_login from weboob.exceptions import BrowserIncorrectPassword -from .pages import LoginPage, AccountsPage, DetailsPage +from .pages import LoginPage, AccountsPage, DetailsPage, MaintenancePage class SpiricaBrowser(LoginBrowser): @@ -29,6 +29,7 @@ class SpiricaBrowser(LoginBrowser): login = URL('/securite/login.xhtml', LoginPage) accounts = URL('/sylvea/client/synthese.xhtml', AccountsPage) details = URL('/sylvea/contrat/consultationContratEpargne.xhtml', DetailsPage) + maintenance = URL('/maintenance.html', MaintenancePage) def __init__(self, website, username, password, *args, **kwargs): super(LoginBrowser, self).__init__(*args, **kwargs) diff --git a/modules/spirica/pages.py b/modules/spirica/pages.py index 65c4b3045e4fae82c32aa5ef1753ce9858b9f706..285934229e00e88f8dd4b7a23d3bfd0b0c52f796 100644 --- a/modules/spirica/pages.py +++ b/modules/spirica/pages.py @@ -26,6 +26,7 @@ from weboob.browser.filters.html import Attr, Link from weboob.capabilities.bank import Account, Investment, Transaction from weboob.capabilities.base import NotAvailable +from weboob.exceptions import BrowserUnavailable def MyDecimal(*args, **kwargs): @@ -33,6 +34,11 @@ def MyDecimal(*args, **kwargs): return CleanDecimal(*args, **kwargs) +class MaintenancePage(HTMLPage): + def on_load(self): + raise BrowserUnavailable(CleanText().filter(self.doc.xpath('//p'))) + + class LoginPage(HTMLPage): def login(self, login, password): form = self.get_form('//form[@id="loginForm"]')