From 3ec1ca1eda2f004bfae7853dc1be86ddc97827c9 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Tue, 28 Oct 2014 11:31:36 +0100 Subject: [PATCH] correctly handle 500 error during login --- modules/cmso/web/browser.py | 10 +++++++++- modules/cmso/web/pages.py | 6 ------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/cmso/web/browser.py b/modules/cmso/web/browser.py index dbd9de3b..08573b85 100644 --- a/modules/cmso/web/browser.py +++ b/modules/cmso/web/browser.py @@ -22,6 +22,7 @@ import datetime from dateutil.relativedelta import relativedelta from itertools import chain +from weboob.exceptions import BrowserHTTPError, BrowserIncorrectPassword from weboob.browser import LoginBrowser, URL, need_login from .pages import LoginPage, AccountsPage, HistoryPage @@ -36,7 +37,14 @@ class CmsoProBrowser(LoginBrowser): def do_login(self): self.login.stay_or_go() - self.page.login(self.username, self.password) + try: + self.page.login(self.username, self.password) + except BrowserHTTPError as e: + # Yes, I know... In the Wild Wild Web, nobody respects nothing + if e.response.status_code == 500: + raise BrowserIncorrectPassword() + else: + raise @need_login def get_accounts_list(self): diff --git a/modules/cmso/web/pages.py b/modules/cmso/web/pages.py index 52f96057..dd94e339 100644 --- a/modules/cmso/web/pages.py +++ b/modules/cmso/web/pages.py @@ -21,7 +21,6 @@ import datetime from weboob.browser.pages import HTMLPage, LoggedPage -from weboob.exceptions import BrowserIncorrectPassword from weboob.browser.elements import ListElement, ItemElement, method from weboob.browser.filters.standard import CleanText, CleanDecimal, Regexp, DateGuesser from weboob.browser.filters.html import Link @@ -33,11 +32,6 @@ __all__ = ['LoginPage'] class LoginPage(HTMLPage): - def on_load(self): - # Yes, I know... In the Wild Wild Web, nobody respects nothing - if self.response.status_code == 500: - raise BrowserIncorrectPassword() - def login(self, username, password): form = self.get_form(name='formIdentification')