CrAgr: transactions are now assigned types and categories through FrenchTransaction.

This commit is contained in:
Xavier G 2012-09-15 03:14:26 +02:00 committed by Romain Bignon
commit 0af83de83e

View file

@ -24,8 +24,21 @@ from datetime import date
from weboob.capabilities.bank import Account
from .base import CragrBasePage
from .tokenextractor import TokenExtractor
from weboob.capabilities.bank import Transaction
from weboob.tools.capabilities.bank.transactions import FrenchTransaction
class Transaction(FrenchTransaction):
PATTERNS = [
(re.compile('^(Vp|Vt|Vrt|Virt|Vir(ement)?)\s*(?P<text>.*)'), FrenchTransaction.TYPE_TRANSFER),
(re.compile('^(?P<text>(Tip|Plt|Prlv|Prelevement)\s*.*)'), FrenchTransaction.TYPE_ORDER),
(re.compile('^Cheque\s*(?P<text>No.*)'), FrenchTransaction.TYPE_CHECK),
(re.compile('^(?P<text>Rem\s*Chq\s*.*)'), FrenchTransaction.TYPE_DEPOSIT),
(re.compile('^Ret(rait)?\s*Dab\s*(?P<text>.*)'), FrenchTransaction.TYPE_WITHDRAWAL),
(re.compile('^Paiement\s*Carte\s*(?P<text>.*)'), FrenchTransaction.TYPE_CARD),
(re.compile('^(?P<text>.*CAPITAL.*ECHEANCE.*)'), FrenchTransaction.TYPE_BANK),
(re.compile('^\*\*(?P<text>(frais|cotis(ation)?)\s*.*)'), FrenchTransaction.TYPE_BANK),
(re.compile('^(?P<text>Interets\s*.*)'), FrenchTransaction.TYPE_BANK),
(re.compile('^(?P<text>Prelev\.\s*(C\.r\.d\.s\.|R\.s\.a\.|C\.a\.p\.s\.|C\.s\.g|P\.s\.))'), FrenchTransaction.TYPE_BANK),
]
class AccountsList(CragrBasePage):
"""
@ -173,8 +186,7 @@ class AccountsList(CragrBasePage):
transaction = Transaction(index)
index += 1
transaction.amount = op['amount']
transaction.date = self.date_from_string(op['date'])
transaction.raw = op['label']
transaction.parse(self.date_from_string(op['date']), re.sub('\s+', ' ', op['label']))
yield transaction
def get_transfer_accounts(self, select_name):