logging on cragr in perhaps fixed.

This commit is contained in:
Romain Bignon 2010-04-07 14:35:23 +02:00
commit 3c11c40ac5
3 changed files with 34 additions and 17 deletions

View file

@ -37,26 +37,41 @@ class Cragr(Browser):
}
Browser.__init__(self, *args, **kwargs)
def viewing_html(self):
"""
As the fucking HTTP server returns a document in unknown mimetype
'application/vnd.wap.xhtml+xml' it is not recognized by mechanize.
So this is a fucking hack.
"""
return True
def home(self):
self.location('https://%s/login/process' % self.DOMAIN)
self.location('https://%s/' % self.DOMAIN)
def is_logged(self):
return not self.is_on_page(pages.LoginPage) or self.page.is_logged()
return self.page and self.page.is_logged() or self.is_logging
def login(self):
assert isinstance(self.username, (str,unicode))
assert isinstance(self.password, (str,unicode))
self.is_logging = True
print 'kikoo'
if not self.is_on_page(pages.LoginPage):
self.home()
self.is_logging = True
self.page.login(self.username, self.password)
if self.is_on_page(pages.LoginPage):
raise BrowserIncorrectPassword()
print '1'
try:
self.page.login(self.username, self.password)
except Exception, e:
print type(e), e
raise
self.is_logging = False
if not self.is_logged():
raise BrowserIncorrectPassword()
def get_accounts_list(self):
if not self.is_on_page(pages.AccountsList):
self.home()

View file

@ -19,9 +19,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
"""
from weboob.capabilities.bank import Account
from weboob.tools.browser import BasePage
from .base import CragrBasePage
class AccountsList(BasePage):
class AccountsList(CragrBasePage):
def loaded(self):
pass

View file

@ -20,14 +20,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import ClientForm
from weboob.tools.browser import BasePage
from .base import CragrBasePage
class LoginPage(BasePage):
class LoginPage(CragrBasePage):
def loaded(self):
pass
def login(self, login, password):
self.browser.select_form()
self.browser.select_form(nr=0)
print self.browser.controls
try:
self.browser['numero'] = login
self.browser['code'] = password
@ -35,11 +36,12 @@ class LoginPage(BasePage):
try:
self.browser['userLogin'] = login
self.browser['userPassword'] = password
except ClientForm.ControlNotFoundError:
print 'WTF'
return
except ClientForm.ControlNotFoundError, e:
print 'WTF', e
self.browser.controls.append(ClientForm.TextControl('text', 'userLogin', {'value': ''}))
self.browser.controls.append(ClientForm.TextControl('text', 'userPassword', {'value': ''}))
self.browser.set_all_readonly(False)
self.browser['userLogin'] = login
self.browser['userPassword'] = password
self.browser.submit()
class ConfirmPage(BasePage):
pass