diff --git a/modules/ameli/browser.py b/modules/ameli/browser.py index bedddad2d9546c7e6bbd054f5866094c915f07ca..72b47aaeb1d83b0347e81b690ed9d2b69ae5c710 100644 --- a/modules/ameli/browser.py +++ b/modules/ameli/browser.py @@ -24,12 +24,13 @@ from dateutil.relativedelta import relativedelta from weboob.browser import LoginBrowser, URL, need_login -from .pages import LoginPage, SubscriptionPage, DocumentsPage +from .pages import ErrorPage, LoginPage, SubscriptionPage, DocumentsPage class AmeliBrowser(LoginBrowser): BASEURL = 'https://assure.ameli.fr' + error_page = URL(r'/vu/INDISPO_COMPTE_ASSURES.html', ErrorPage) login_page = URL(r'/PortailAS/appmanager/PortailAS/assure\?_nfpb=true&connexioncompte_2actionEvt=afficher.*', LoginPage) subscription_page = URL(r'/PortailAS/appmanager/PortailAS/assure\?_nfpb=true&_pageLabel=as_info_perso_page.*', SubscriptionPage) documents_page = URL(r'/PortailAS/paiements.do', DocumentsPage) diff --git a/modules/ameli/pages.py b/modules/ameli/pages.py index b058574ae7bf09b1592f474e83e1d32e4d0c43f1..e5389bdb2917f4aa894918d83dcae6c23261a5e5 100644 --- a/modules/ameli/pages.py +++ b/modules/ameli/pages.py @@ -26,6 +26,7 @@ from weboob.browser.filters.standard import CleanText, Regexp, CleanDecimal, Currency, Field, Format, Env from weboob.browser.pages import LoggedPage, HTMLPage, PartialHTMLPage from weboob.capabilities.bill import Subscription, Bill +from weboob.exceptions import BrowserUnavailable from weboob.tools.date import parse_french_date @@ -37,6 +38,12 @@ def login(self, username, password): form.submit() +class ErrorPage(HTMLPage): + def on_load(self): + msg = CleanText('//div[@id="backgroundId"]//p')(self.doc) + raise BrowserUnavailable(msg) + + class SubscriptionPage(LoggedPage, HTMLPage): @method class iter_subscriptions(ListElement):