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=maSyntheseGratuite.*': 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/Page.do\?.*': TransactionsPage,
'https://[^/]+/cyber/internet/Sort.do\?.*': TransactionsPage,
@ -87,6 +88,13 @@ class BanquePopulaire(BaseBrowser):
if self.page.is_error():
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()
def get_account(self, id):
@ -111,6 +119,7 @@ class BanquePopulaire(BaseBrowser):
while True:
assert self.is_on_page(TransactionsPage)
self.token = self.page.get_token()
for tr in self.page.get_history():
yield tr

View file

@ -23,7 +23,7 @@ from decimal import Decimal
import re
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.tools.capabilities.bank.transactions import FrenchTransaction
@ -55,6 +55,11 @@ class WikipediaARC4(object):
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):
"""
var i = 'lyhrnu551jo42yfzx0jm0sqk';