diff --git a/modules/spirica/browser.py b/modules/spirica/browser.py index 9f1328730b950ba02f9ee0ad145199437a3ad6c2..1ed28f16e9883ad2b0d77e63fdd6a2b01cb6c64b 100644 --- a/modules/spirica/browser.py +++ b/modules/spirica/browser.py @@ -61,8 +61,10 @@ def iter_history(self, account): form = self.location(account._link).page.get_historytab_form() # Get form to show all transactions form = self.location(form.url, data=dict(form)).page.get_historyallpages_form() + if form: + self.location(form.url, data=dict(form)) # Get forms to expand details of all transactions - for form in self.location(form.url, data=dict(form)).page.get_historyexpandall_form(): + for form in self.page.get_historyexpandall_form(): self.location(form.url, data=dict(form)) # Get all transactions self.skipped = [] diff --git a/modules/spirica/pages.py b/modules/spirica/pages.py index ca922dbc386092c117448c291b885d4f48537264..65c4b3045e4fae82c32aa5ef1753ce9858b9f706 100644 --- a/modules/spirica/pages.py +++ b/modules/spirica/pages.py @@ -125,10 +125,13 @@ def get_historytab_form(self): return form def get_historyallpages_form(self): - form = self.get_form('//form[contains(@id, "j_idt")]') - idt = re.search('{[^\w]+([\w\d:]+)', self.doc.xpath('//a[contains(text(), "Tout")]/@onclick')[0]).group(1) - form[idt] = idt - return form + onclick = self.doc.xpath('//a[contains(text(), "Tout")]/@onclick') + if onclick: + idt = re.search('{[^\w]+([\w\d:]+)', onclick[0]).group(1) + form = self.get_form('//form[contains(@id, "j_idt")]') + form[idt] = idt + return form + return False def get_historyexpandall_form(self): form = self.get_form('//form[contains(@id, "j_idt")]')