fix get of transactions when they are ordered by type

This commit is contained in:
Romain Bignon 2014-11-07 17:52:43 +01:00
commit 7998230dff

View file

@ -50,7 +50,8 @@ class ProAccountsList(Page):
try:
account.coming = Decimal(self.parser.tocleanstring(cols[self.COL_COMING]))
except InvalidOperation:
self.logger.warning('Unable to parse coming value', exc_info=True)
if self.parser.tocleanstring(cols[self.COL_COMING]) != '-':
self.logger.warning('Unable to parse coming value', exc_info=True)
account.coming = NotAvailable
account._link_id = None
account._stp = None
@ -83,12 +84,26 @@ class ProAccountHistory(Page):
COL_DEBIT = -2
COL_CREDIT = -1
def on_loaded(self):
# If transactions are ordered by type, force order by date.
try:
checkbox = self.document.xpath('//input[@name="szTriDate"]')[0]
except IndexError:
return
if not 'checked' in checkbox.attrib:
self.browser.select_form(name='formtri')
self.browser['szTriDate'] = ['date']
self.browser['szTriRub'] = []
self.browser.submit()
def iter_operations(self):
for i, tr in enumerate(self.document.xpath('//tr[@class="hdoc1" or @class="hdotc1"]')):
if 'bgcolor' not in tr.attrib:
continue
cols = tr.findall('td')
if len(cols) < 4:
continue
op = Transaction(i)
date = self.parser.tocleanstring(cols[self.COL_DATE])