csb43.homebank

Note

license: GNU Lesser General Public License v3.0 (see LICENSE)

Homebank CSV format

class csb43.homebank.Transaction(record: str | None = None)

Hombebank CSV transaction

  • Creating a record:

    >>> from csb43.homebank import Transaction
    >>> t = Transaction()
    >>> t.amount = 12.45
    >>> import datetime
    >>> t.date = datetime.date(year=2013, month=3, day=19)
    >>> print(t)
    19-03-13;;;;;12.45;
    
  • Parsing a record:

    >>> t = Transaction("19-03-13;;;;;12.45;")
    >>> t.amount
    Decimal('12.45')
    >>> t.date
    datetime.date(2013, 3, 19)
    
__init__(record: str | None = None)
Parameters:

record (str) – a Homebank csv record

Raises:

csb43.utils.Csb43Exception

__str__()
Return type:

str representation of this record as a row of a Homebank CSV file

__weakref__

list of weak references to the object (if defined)

property amount

amount of the transaction

property category

transaction category, according to HomeBank

property date: date | None

date of transaction (datetime.date)

property description: str | None

description of the transaction

property info: str | None

transaction’s info

property mode

mode of transaction

property payee: str | None

payee of the transaction

Converter

csb43.homebank.converter.convertFromCsb(csb: File) Sequence[Transaction]

Convert a CSB43 file into a HomeBank CSV file.

Only first account is converted.

Parameters:

csb (csb43.csb43.File) – a CSB43 file

Return type:

list of Transaction

>>> # Homebank
>>> from csb43 import csb43
>>> #
>>> csbFile = csb43.File(open("movimientos.csb"), strict=False) 
>>> #
>>> # print to stdout
>>> for line in convertFromCsb(csbFile): 
...    print(line)
...
converter.PAYMODES = {'01': '2', '02': '2', '04': '3', '12': '5'}