logging on cragr in perhaps fixed.
This commit is contained in:
parent
1d0c4150fd
commit
3c11c40ac5
3 changed files with 34 additions and 17 deletions
|
|
@ -37,26 +37,41 @@ class Cragr(Browser):
|
||||||
}
|
}
|
||||||
Browser.__init__(self, *args, **kwargs)
|
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):
|
def home(self):
|
||||||
self.location('https://%s/login/process' % self.DOMAIN)
|
self.location('https://%s/' % self.DOMAIN)
|
||||||
|
|
||||||
def is_logged(self):
|
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):
|
def login(self):
|
||||||
assert isinstance(self.username, (str,unicode))
|
assert isinstance(self.username, (str,unicode))
|
||||||
assert isinstance(self.password, (str,unicode))
|
assert isinstance(self.password, (str,unicode))
|
||||||
|
|
||||||
|
self.is_logging = True
|
||||||
|
print 'kikoo'
|
||||||
if not self.is_on_page(pages.LoginPage):
|
if not self.is_on_page(pages.LoginPage):
|
||||||
self.home()
|
self.home()
|
||||||
|
|
||||||
self.is_logging = True
|
print '1'
|
||||||
|
try:
|
||||||
self.page.login(self.username, self.password)
|
self.page.login(self.username, self.password)
|
||||||
|
except Exception, e:
|
||||||
if self.is_on_page(pages.LoginPage):
|
print type(e), e
|
||||||
raise BrowserIncorrectPassword()
|
raise
|
||||||
self.is_logging = False
|
self.is_logging = False
|
||||||
|
|
||||||
|
if not self.is_logged():
|
||||||
|
raise BrowserIncorrectPassword()
|
||||||
|
|
||||||
def get_accounts_list(self):
|
def get_accounts_list(self):
|
||||||
if not self.is_on_page(pages.AccountsList):
|
if not self.is_on_page(pages.AccountsList):
|
||||||
self.home()
|
self.home()
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from weboob.capabilities.bank import Account
|
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):
|
def loaded(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,14 +20,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
import ClientForm
|
import ClientForm
|
||||||
|
|
||||||
from weboob.tools.browser import BasePage
|
from .base import CragrBasePage
|
||||||
|
|
||||||
class LoginPage(BasePage):
|
class LoginPage(CragrBasePage):
|
||||||
def loaded(self):
|
def loaded(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def login(self, login, password):
|
def login(self, login, password):
|
||||||
self.browser.select_form()
|
self.browser.select_form(nr=0)
|
||||||
|
print self.browser.controls
|
||||||
try:
|
try:
|
||||||
self.browser['numero'] = login
|
self.browser['numero'] = login
|
||||||
self.browser['code'] = password
|
self.browser['code'] = password
|
||||||
|
|
@ -35,11 +36,12 @@ class LoginPage(BasePage):
|
||||||
try:
|
try:
|
||||||
self.browser['userLogin'] = login
|
self.browser['userLogin'] = login
|
||||||
self.browser['userPassword'] = password
|
self.browser['userPassword'] = password
|
||||||
except ClientForm.ControlNotFoundError:
|
except ClientForm.ControlNotFoundError, e:
|
||||||
print 'WTF'
|
print 'WTF', e
|
||||||
return
|
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()
|
self.browser.submit()
|
||||||
|
|
||||||
class ConfirmPage(BasePage):
|
|
||||||
pass
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue