bnporc raise IncorrectPassword after 100 connections
This commit is contained in:
parent
4def869b6a
commit
d155f2ca3b
2 changed files with 10 additions and 3 deletions
|
|
@ -24,8 +24,9 @@ from weboob.browser import LoginBrowser, URL, need_login
|
|||
from weboob.capabilities.base import find_object
|
||||
from weboob.capabilities.bank import AccountNotFound
|
||||
from weboob.tools.json import json
|
||||
from weboob.exceptions import BrowserPasswordExpired
|
||||
|
||||
from .pages import LoginPage, AccountsPage, AccountsIBANPage, HistoryPage, TransferInitPage
|
||||
from .pages import LoginPage, AccountsPage, AccountsIBANPage, HistoryPage, TransferInitPage, ConnectionThresholdPage
|
||||
|
||||
|
||||
__all__ = ['BNPParibasBrowser']
|
||||
|
|
@ -67,6 +68,7 @@ class BNPParibasBrowser(CompatMixin, JsonBrowserMixin, LoginBrowser):
|
|||
'SEEA-pa01/devServer/seeaserver',
|
||||
'https://mabanqueprivee.bnpparibas.net/fr/espace-prive/comptes-et-contrats\?u=%2FSEEA-pa01%2FdevServer%2Fseeaserver',
|
||||
LoginPage)
|
||||
con_threshold = URL(r'/fr/connexion/100-connexions', ConnectionThresholdPage)
|
||||
accounts = URL('udc-wspl/rest/getlstcpt', AccountsPage)
|
||||
ibans = URL('rib-wspl/rpc/comptes', AccountsIBANPage)
|
||||
history = URL('rop-wspl/rest/releveOp', HistoryPage)
|
||||
|
|
@ -81,6 +83,8 @@ class BNPParibasBrowser(CompatMixin, JsonBrowserMixin, LoginBrowser):
|
|||
self.login.go(timestamp=timestamp())
|
||||
if self.login.is_here():
|
||||
self.page.login(self.username, self.password)
|
||||
if self.con_threshold.is_here():
|
||||
raise BrowserPasswordExpired(u'Vous avez atteint le seuil de 100 connexions avec le même code secret. Par mesure de sécurité, veuillez le changer.')
|
||||
|
||||
@need_login
|
||||
def get_accounts_list(self):
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ from cStringIO import StringIO
|
|||
from random import randint
|
||||
from decimal import Decimal
|
||||
|
||||
from weboob.browser.pages import JsonPage, LoggedPage
|
||||
from weboob.browser.pages import JsonPage, LoggedPage, HTMLPage
|
||||
from weboob.tools.captcha.virtkeyboard import GridVirtKeyboard
|
||||
from weboob.capabilities.bank import Account
|
||||
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
|
||||
|
|
@ -32,6 +32,9 @@ from weboob.tools.json import json
|
|||
from weboob.tools.date import parse_french_date as Date
|
||||
|
||||
|
||||
class ConnectionThresholdPage(HTMLPage):
|
||||
pass
|
||||
|
||||
def cast(x, typ, default=None):
|
||||
try:
|
||||
return typ(x or default)
|
||||
|
|
@ -88,7 +91,7 @@ class LoginPage(JsonPage):
|
|||
|
||||
if error:
|
||||
msg = self.get('message')
|
||||
if error == 201 or error == 21510:
|
||||
if error == 201 or error == 21510 or error == 203:
|
||||
raise BrowserIncorrectPassword(msg)
|
||||
self.logger.debug('Unexpected error at login: "%s" (code=%s)' % (msg, error))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue