From 63cbad2ee3f0be38b32ef02f9687bfcc923b304c Mon Sep 17 00:00:00 2001 From: Guillaume Risbourg Date: Wed, 6 Nov 2019 13:34:50 +0100 Subject: [PATCH] [ovh] Add retry when failing to go to the login page Closes: 48073@sibi --- modules/ovh/browser.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/ovh/browser.py b/modules/ovh/browser.py index 3233a7c2e0..c7f1f835da 100644 --- a/modules/ovh/browser.py +++ b/modules/ovh/browser.py @@ -20,12 +20,13 @@ from __future__ import unicode_literals import time -from requests.exceptions import HTTPError, TooManyRedirects +from requests.exceptions import HTTPError, TooManyRedirects, ConnectionError from datetime import datetime, timedelta from weboob.browser import LoginBrowser, URL, need_login, StatesMixin -from weboob.exceptions import BrowserIncorrectPassword, BrowserQuestion +from weboob.exceptions import BrowserIncorrectPassword, BrowserQuestion, BrowserUnavailable from weboob.tools.value import Value +from weboob.tools.decorators import retry from .pages import LoginPage, ProfilePage, BillsPage @@ -66,6 +67,7 @@ def validate_security_form(self): self.location(self.url, data=res_form) + @retry(BrowserUnavailable) def do_login(self): if self.config['pin_code'].get(): self.validate_security_form() @@ -74,7 +76,10 @@ def do_login(self): raise BrowserIncorrectPassword("Login / Password or authentication pin_code incorrect") return - self.login.go() + try: + self.login.go() + except ConnectionError as e: + raise BrowserUnavailable(e) if self.page.is_logged(): return -- GitLab