correctly handle 500 error during login
This commit is contained in:
parent
d26180c5a8
commit
3ec1ca1eda
2 changed files with 9 additions and 7 deletions
|
|
@ -22,6 +22,7 @@ import datetime
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
|
from weboob.exceptions import BrowserHTTPError, BrowserIncorrectPassword
|
||||||
from weboob.browser import LoginBrowser, URL, need_login
|
from weboob.browser import LoginBrowser, URL, need_login
|
||||||
|
|
||||||
from .pages import LoginPage, AccountsPage, HistoryPage
|
from .pages import LoginPage, AccountsPage, HistoryPage
|
||||||
|
|
@ -36,7 +37,14 @@ class CmsoProBrowser(LoginBrowser):
|
||||||
|
|
||||||
def do_login(self):
|
def do_login(self):
|
||||||
self.login.stay_or_go()
|
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
|
@need_login
|
||||||
def get_accounts_list(self):
|
def get_accounts_list(self):
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from weboob.browser.pages import HTMLPage, LoggedPage
|
from weboob.browser.pages import HTMLPage, LoggedPage
|
||||||
from weboob.exceptions import BrowserIncorrectPassword
|
|
||||||
from weboob.browser.elements import ListElement, ItemElement, method
|
from weboob.browser.elements import ListElement, ItemElement, method
|
||||||
from weboob.browser.filters.standard import CleanText, CleanDecimal, Regexp, DateGuesser
|
from weboob.browser.filters.standard import CleanText, CleanDecimal, Regexp, DateGuesser
|
||||||
from weboob.browser.filters.html import Link
|
from weboob.browser.filters.html import Link
|
||||||
|
|
@ -33,11 +32,6 @@ __all__ = ['LoginPage']
|
||||||
|
|
||||||
|
|
||||||
class LoginPage(HTMLPage):
|
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):
|
def login(self, username, password):
|
||||||
form = self.get_form(name='formIdentification')
|
form = self.get_form(name='formIdentification')
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue