From 531cb7c1e72f96838b684e0ed42912e06e169346 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Wed, 10 Sep 2014 17:38:32 +0200 Subject: [PATCH] limit length of password --- modules/bred/pages.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/bred/pages.py b/modules/bred/pages.py index 2040a154..f4db5a6f 100644 --- a/modules/bred/pages.py +++ b/modules/bred/pages.py @@ -34,6 +34,13 @@ from weboob.tools.capabilities.bank.transactions import FrenchTransaction class LoginPage(BasePage): def login(self, login, passwd): + try: + length = int(self.document.xpath('//input[@id="pass"]')[0].attrib['maxlength']) + except (IndexError,KeyError): + pass + else: + passwd = passwd[:length] + self.browser.select_form(name='authen') try: self.browser['id'] = login.encode(self.browser.ENCODING) @@ -41,6 +48,7 @@ class LoginPage(BasePage): except ControlNotFoundError: self.browser.controls.append(ClientForm.TextControl('text', 'id', {'value': login.encode(self.browser.ENCODING)})) self.browser.controls.append(ClientForm.TextControl('text', 'pass', {'value': passwd.encode(self.browser.ENCODING)})) + self.browser.submit(nologin=True)