From 02bffb5f4b8a3b1b356a049b666b61d2f61d13b1 Mon Sep 17 00:00:00 2001 From: Florian Duguet Date: Tue, 23 Jul 2019 16:52:43 +0200 Subject: [PATCH] [ameli] handle error page to raise BrowserUnavailable Closes: 44026@sibi --- modules/ameli/browser.py | 3 ++- modules/ameli/pages.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/ameli/browser.py b/modules/ameli/browser.py index bedddad2d9..72b47aaeb1 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 b058574ae7..e5389bdb29 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): -- GitLab