From e8dd52221e2b8e36aa1414b36eb5109979d7b3e7 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Fri, 4 Jan 2013 01:55:24 +0100 Subject: [PATCH] check date of card debit to apply it --- modules/societegenerale/pages/accounts_list.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/societegenerale/pages/accounts_list.py b/modules/societegenerale/pages/accounts_list.py index f42ceb2b..db828c5a 100644 --- a/modules/societegenerale/pages/accounts_list.py +++ b/modules/societegenerale/pages/accounts_list.py @@ -18,6 +18,7 @@ # along with weboob. If not, see . +import datetime from urlparse import parse_qs, urlparse from lxml.etree import XML from cStringIO import StringIO @@ -166,15 +167,21 @@ class AccountHistory(BasePage): def _iter_transactions(self, doc, coming): for i, tr in enumerate(self.parser.select(doc.getroot(), 'tr')): - date = tr.xpath('./td[@headers="Date"]')[0].text.strip() - if date == '': - coming = False - continue - try: raw = tr.attrib['title'].strip() except KeyError: raw = tr.xpath('./td[@headers="Libelle"]//text()')[0].strip() + + date = tr.xpath('./td[@headers="Date"]')[0].text.strip() + if date == '': + m = re.search('(\d+)/(\d+)', raw) + if not m: + continue + date = t.date.replace(day=int(m.group(1)), month=int(m.group(2))) + if date <= datetime.date.today(): + coming = False + continue + t = Transaction(i) t.parse(date=date, raw=raw) t.set_amount(*reversed([el.text for el in tr.xpath('./td[@class="right"]')]))