From f9f933c32b393839b05f9737037afa9b6d042323 Mon Sep 17 00:00:00 2001 From: Caram Dache Date: Wed, 22 Jul 2015 19:48:10 +0200 Subject: [PATCH] boobank OFX export: Identify credit card for each transaction --- modules/bp/pages/accounthistory.py | 4 ++++ weboob/applications/boobank/boobank.py | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/bp/pages/accounthistory.py b/modules/bp/pages/accounthistory.py index 5b2a5bce..7175315f 100644 --- a/modules/bp/pages/accounthistory.py +++ b/modules/bp/pages/accounthistory.py @@ -63,6 +63,9 @@ class AccountHistory(Page): operations = [] if deferred: + card_no_re = re.compile('indexCarte=(\d)') + card_no = card_no_re.search(self.url).group(0).replace('indexCarte=', '') + # look for the debit date, and if it is already debited txt = u''.join([txt.strip() for txt in self.document.xpath('//div[@class="infosynthese"]')[0].itertext()]) m = re.search('(\d+)/(\d+)/(\d+)', txt) @@ -93,6 +96,7 @@ class AccountHistory(Page): op.set_amount(amount) if deferred: + op._cardid = 'CARTE %s' % card_no op.rdate = op.date op.date = debit_date # on card page, amounts are without sign diff --git a/weboob/applications/boobank/boobank.py b/weboob/applications/boobank/boobank.py index 6ffbf34e..af042fa5 100644 --- a/weboob/applications/boobank/boobank.py +++ b/weboob/applications/boobank/boobank.py @@ -79,7 +79,10 @@ class OfxFormatter(IFormatter): self.output(u'%s' % datetime.date.today().strftime('%Y%m%d')) def format_obj(self, obj, alias): - if obj.type != 0: + # special case of coming operations with card ID + if hasattr(obj, '_coming') and obj._coming and hasattr(obj, 'obj._cardid') and not empty(obj._cardid): + result = u'%s\n' % obj._cardid + elif obj.type != 0: result = u'%s\n' % self.TYPES_TRANS[obj.type] else: result = u'%s\n' % ('DEBIT' if obj.amount < 0 else 'CREDIT')