From 27a70e45256aecaf2bbd6e34d907af03487e2e7a Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Wed, 7 Sep 2011 09:47:23 +0200 Subject: [PATCH] add 'qif' formatter --- weboob/applications/boobank/boobank.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/weboob/applications/boobank/boobank.py b/weboob/applications/boobank/boobank.py index e805296b..0f6e1075 100644 --- a/weboob/applications/boobank/boobank.py +++ b/weboob/applications/boobank/boobank.py @@ -28,6 +28,24 @@ from weboob.tools.application.formatters.iformatter import IFormatter __all__ = ['Boobank'] +class QifFormatter(IFormatter): + MANDATORY_FIELDS = ('id', 'date', 'label', 'amount') + + count = 0 + + def flush(self): + self.count = 0 + + def format_dict(self, item): + result = u'' + if self.count == 0: + result += u'!type:Bank\n' + result += u'D%s\n' % item['date'].strftime('%d/%m/%y') + result += u'T%s\n' % item['amount'] + result += u'M%s\n' % item['label'] + result += u'^\n' + return result + class TransferFormatter(IFormatter): MANDATORY_FIELDS = ('id', 'date', 'origin', 'recipient', 'amount') @@ -114,6 +132,7 @@ class Boobank(ReplApplication): EXTRA_FORMATTERS = {'account_list': AccountListFormatter, 'recipient_list': RecipientListFormatter, 'transfer': TransferFormatter, + 'qif': QifFormatter, } DEFAULT_FORMATTER = 'table' COMMANDS_FORMATTERS = {'ls': 'account_list',