From f4937c322c5aa81544ce183e002f769c00faf292 Mon Sep 17 00:00:00 2001 From: Florian Duguet Date: Thu, 27 May 2021 12:13:24 +0200 Subject: [PATCH] [ameli] raise BrowserUnavailable in ErrorPage.on_load we can be redirected on this page anywhere, not just at login --- modules/ameli/browser.py | 5 +---- modules/ameli/pages.py | 7 +++++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/ameli/browser.py b/modules/ameli/browser.py index 3fd5a8f9cb..dd0ea530b4 100644 --- a/modules/ameli/browser.py +++ b/modules/ameli/browser.py @@ -28,7 +28,7 @@ from dateutil.relativedelta import relativedelta from woob.browser import LoginBrowser, URL, need_login -from woob.exceptions import ActionNeeded, BrowserIncorrectPassword, BrowserUnavailable +from woob.exceptions import ActionNeeded, BrowserIncorrectPassword from woob.tools.capabilities.bill.documents import merge_iterators from .pages import ( @@ -86,9 +86,6 @@ def do_login(self): raise BrowserIncorrectPassword(err_msg) raise AssertionError('Unhandled error at login %s' % err_msg) - if self.error_page.is_here(): - raise BrowserUnavailable(self.page.get_error_message()) - if self.cgu_page.is_here(): raise ActionNeeded(self.page.get_cgu_message()) diff --git a/modules/ameli/pages.py b/modules/ameli/pages.py index be4e9962ce..e54cef1ef6 100644 --- a/modules/ameli/pages.py +++ b/modules/ameli/pages.py @@ -30,6 +30,7 @@ from woob.browser.filters.json import Dict from woob.browser.pages import LoggedPage, HTMLPage, PartialHTMLPage, RawPage, JsonPage from woob.capabilities.bill import Subscription, Bill, Document, DocumentTypes +from woob.exceptions import BrowserUnavailable from woob.tools.compat import html_unescape from woob.tools.date import parse_french_date from woob.tools.json import json @@ -71,8 +72,10 @@ def get_cgu_message(self): class ErrorPage(HTMLPage): - def get_error_message(self): - return html_unescape(CleanText('//div[@class="mobile"]/p')(self.doc)) + def on_load(self): + # message is: "Oups... votre compte ameli est momentanément indisponible. Il sera de retour en pleine forme très bientôt." + # nothing we can do, but retry later + raise BrowserUnavailable(html_unescape(CleanText('//div[@class="mobile"]/p')(self.doc))) class SubscriptionPage(LoggedPage, HTMLPage): -- GitLab