Fix freemobile module

This commit is contained in:
Florent 2012-03-06 14:16:06 +01:00 committed by Romain Bignon
commit f308fed5ae

View file

@ -19,6 +19,7 @@
import Image import Image
import time
from weboob.tools.browser import BasePage from weboob.tools.browser import BasePage
@ -38,6 +39,7 @@ class FreeKeyboard(object):
'9':'001111111000110011111111100111111111111100111110000001100011110000001100011111111111111111011111111111111001111111111110' '9':'001111111000110011111111100111111111111100111110000001100011110000001100011111111111111111011111111111111001111111111110'
} }
fingerprints = [] fingerprints = []
basepage = None
def __init__(self,basepage): def __init__(self,basepage):
for htmlimg in basepage.document.xpath('//img[@class="ident_chiffre_img pointer"]'): for htmlimg in basepage.document.xpath('//img[@class="ident_chiffre_img pointer"]'):
@ -57,6 +59,7 @@ class FreeKeyboard(object):
s += "0" s += "0"
self.fingerprints.append(s) self.fingerprints.append(s)
self.basepage = basepage
if self.DEBUG: if self.DEBUG:
image.save('/tmp/' + s + '.png') image.save('/tmp/' + s + '.png')
@ -85,6 +88,7 @@ class FreeKeyboard(object):
best = match best = match
result = i result = i
i += 1 i += 1
self.basepage.browser.logger.debug(self.fingerprints[result] + " match " + digit)
return result return result
# TODO : exception # TODO : exception
@ -96,6 +100,11 @@ class FreeKeyboard(object):
code+=str(codesymbol) code+=str(codesymbol)
return code return code
def get_small(self, string):
for c in string:
time.sleep(0.4)
url = 'https://mobile.free.fr/moncompte/chiffre.php?pos=' + c + '&small=1'
fichier = self.basepage.browser.openurl(url)
class LoginPage(BasePage): class LoginPage(BasePage):
@ -108,7 +117,9 @@ class LoginPage(BasePage):
# Fucking form without name... # Fucking form without name...
self.browser.select_form(nr=0) self.browser.select_form(nr=0)
self.browser.set_all_readonly(False) self.browser.set_all_readonly(False)
self.browser['login_abo'] = vk.get_string_code(login) code = vk.get_string_code(login)
self.browser['login_abo'] = code
vk.get_small(code)
self.browser['pwd_abo'] = password self.browser['pwd_abo'] = password
self.browser.submit(nologin=True) self.browser.submit(nologin=True)