fixing virtual keyboard and adding assert

Signed-off-by: Romain Bignon <romain@budget-insight.com>
This commit is contained in:
Vincent Paredes 2014-02-05 17:20:29 +01:00 committed by Romain Bignon
commit a96eb090e2

View file

@ -21,7 +21,7 @@
from decimal import Decimal from decimal import Decimal
import re import re
from weboob.tools.browser import BasePage from weboob.tools.browser import BasePage, BrokenPageError
from weboob.tools.captcha.virtkeyboard import MappedVirtKeyboard, VirtKeyboardError from weboob.tools.captcha.virtkeyboard import MappedVirtKeyboard, VirtKeyboardError
from weboob.tools.capabilities.bank.transactions import FrenchTransaction from weboob.tools.capabilities.bank.transactions import FrenchTransaction
@ -69,7 +69,7 @@ class VirtKeyboard(MappedVirtKeyboard):
except VirtKeyboardError: except VirtKeyboardError:
continue continue
else: else:
return ''.join(re.findall("'(\d+)'", code)[1:]) return ''.join(re.findall("'(\d+)'", code)[-2:])
raise VirtKeyboardError('Symbol not found') raise VirtKeyboardError('Symbol not found')
def get_string_code(self, string): def get_string_code(self, string):
@ -83,7 +83,9 @@ class LoginPage(BasePage):
vk = VirtKeyboard(self) vk = VirtKeyboard(self)
form = self.document.xpath('//form[@id="formulaire-login"]')[0] form = self.document.xpath('//form[@id="formulaire-login"]')[0]
self.browser.location(self.browser.buildurl(form.attrib['action'], identifiant=login, code=vk.get_string_code(password)), no_login=True) code = vk.get_string_code(password)
assert len(code)==10, BrokenPageError("Wrong number of character.")
self.browser.location(self.browser.buildurl(form.attrib['action'], identifiant=login, code=code), no_login=True)
class IndexPage(BasePage): class IndexPage(BasePage):
def get_card_name(self): def get_card_name(self):