From 03beabe5a0b3961bb2f6b1f82b798e02939b88a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Rubinstein?= Date: Tue, 23 Jul 2013 17:59:19 +0200 Subject: [PATCH] LCL Enterprise: support pagination --- modules/lcl/enterprise/browser.py | 11 +++++++++-- modules/lcl/enterprise/pages.py | 3 +++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/lcl/enterprise/browser.py b/modules/lcl/enterprise/browser.py index 2876ba05..f25a5c79 100644 --- a/modules/lcl/enterprise/browser.py +++ b/modules/lcl/enterprise/browser.py @@ -17,6 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with weboob. If not, see . +from urllib import urlencode from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword @@ -47,6 +48,7 @@ class LCLEnterpriseBrowser(BaseBrowser): PAGES_REV[LogoutOkPage]: LogoutOkPage, PAGES_REV[MessagesPage]: MessagesPage, PAGES_REV[MovementsPage]: MovementsPage, + 'https://entreprises.secure.lcl.fr/outil/IQMT/mvt.Synthese/paginerReleve': MovementsPage, 'https://entreprises.secure.lcl.fr/': RootPage, 'https://entreprises.secure.lcl.fr/outil/IQEN/Authentication/dejaConnecte': AlreadyConnectedPage, 'https://entreprises.secure.lcl.fr/outil/IQEN/Authentication/sessionExpiree': ExpiredPage, @@ -97,5 +99,10 @@ class LCLEnterpriseBrowser(BaseBrowser): if not self.is_on_page(MovementsPage): self.location(self.PAGES_REV[MovementsPage]) - for tr in self.page.get_operations(): - yield tr + for n in range(1, self.page.nb_pages()): + self.location('/outil/IQMT/mvt.Synthese/paginerReleve', + urlencode({'numPage': str(n)}), + no_login=True) + + for tr in self.page.get_operations(): + yield tr diff --git a/modules/lcl/enterprise/pages.py b/modules/lcl/enterprise/pages.py index 32f07c55..03d8da69 100644 --- a/modules/lcl/enterprise/pages.py +++ b/modules/lcl/enterprise/pages.py @@ -67,6 +67,9 @@ class MovementsPage(BasePage): return account + def nb_pages(self): + return int(self.document.xpath('//input[@name="nbPages"]/@value')[0]) + def get_operations(self): LINE_XPATH = '//table[@id="listeEffets"]/tbody/tr'