get list of all accounts

This commit is contained in:
Romain Bignon 2013-10-09 18:24:59 +02:00
commit 1707494747
2 changed files with 15 additions and 1 deletions

View file

@ -36,6 +36,7 @@ class BanquePopulaire(BaseBrowser):
'https://[^/]+/cyber/internet/StartTask.do\?taskInfoOID=mesComptes.*': AccountsPage, 'https://[^/]+/cyber/internet/StartTask.do\?taskInfoOID=mesComptes.*': AccountsPage,
'https://[^/]+/cyber/internet/StartTask.do\?taskInfoOID=maSyntheseGratuite.*': AccountsPage, 'https://[^/]+/cyber/internet/StartTask.do\?taskInfoOID=maSyntheseGratuite.*': AccountsPage,
'https://[^/]+/cyber/internet/StartTask.do\?taskInfoOID=accueilSynthese.*': AccountsPage, 'https://[^/]+/cyber/internet/StartTask.do\?taskInfoOID=accueilSynthese.*': AccountsPage,
'https://[^/]+/cyber/internet/ContinueTask.do\?.*dialogActionPerformed=EQUIPEMENT_COMPLET.*': AccountsPage,
'https://[^/]+/cyber/internet/ContinueTask.do\?.*dialogActionPerformed=SOLDE.*': TransactionsPage, 'https://[^/]+/cyber/internet/ContinueTask.do\?.*dialogActionPerformed=SOLDE.*': TransactionsPage,
'https://[^/]+/cyber/internet/Page.do\?.*': TransactionsPage, 'https://[^/]+/cyber/internet/Page.do\?.*': TransactionsPage,
'https://[^/]+/cyber/internet/Sort.do\?.*': TransactionsPage, 'https://[^/]+/cyber/internet/Sort.do\?.*': TransactionsPage,
@ -87,6 +88,13 @@ class BanquePopulaire(BaseBrowser):
if self.page.is_error(): if self.page.is_error():
raise BrokenPageError('Unable to go on the accounts list page') raise BrokenPageError('Unable to go on the accounts list page')
self.select_form(nr=0)
self.set_all_readonly(False)
self['dialogActionPerformed'] = 'EQUIPEMENT_COMPLET'
self.submit()
self.token = self.page.get_token()
return self.page.get_list() return self.page.get_list()
def get_account(self, id): def get_account(self, id):
@ -111,6 +119,7 @@ class BanquePopulaire(BaseBrowser):
while True: while True:
assert self.is_on_page(TransactionsPage) assert self.is_on_page(TransactionsPage)
self.token = self.page.get_token()
for tr in self.page.get_history(): for tr in self.page.get_history():
yield tr yield tr

View file

@ -23,7 +23,7 @@ from decimal import Decimal
import re import re
from mechanize import Cookie from mechanize import Cookie
from weboob.tools.browser import BasePage, BrowserUnavailable, BrokenPageError from weboob.tools.browser import BasePage as _BasePage, BrowserUnavailable, BrokenPageError
from weboob.capabilities.bank import Account from weboob.capabilities.bank import Account
from weboob.tools.capabilities.bank.transactions import FrenchTransaction from weboob.tools.capabilities.bank.transactions import FrenchTransaction
@ -55,6 +55,11 @@ class WikipediaARC4(object):
return ''.join(output) return ''.join(output)
class BasePage(_BasePage):
def get_token(self):
return self.parser.select(self.document.getroot(), '//form//input[@name="token"]', 1, 'xpath').attrib['value']
class RedirectPage(BasePage): class RedirectPage(BasePage):
""" """
var i = 'lyhrnu551jo42yfzx0jm0sqk'; var i = 'lyhrnu551jo42yfzx0jm0sqk';