csb43.ofx
¶
Note
license: GNU Lesser General Public License v3.0 (see LICENSE)
Partial implementation of a OFX file writer.
This package is not intended to fully implement the OFX Spec. Its final purpose is the conversion from CSB43 (norma 43 del Consejo Superior Bancario). That is, only transaction response is (partially) implemented.
-
class
csb43.ofx.
Balance
(tagName='bal', **kwargs)¶ A balance
-
get_amount
()¶ Return type: the amount of the balance
-
get_date
()¶ Return type: datetime
– date of the balance
-
get_tag_name
()¶ Return type: the XML tag name
-
set_amount
(value)¶ Parameters: value – amount
-
set_date
(value)¶ Parameters: value ( datetime.datetime
) – a date object
-
-
class
csb43.ofx.
BankAccount
(tagName='bankaccfrom', **kwargs)¶ A bank account
-
TYPE
= ['CHECKING', 'SAVINGS', 'MONEYMRKT', 'CREDITLINE']¶ account type
-
get_tag_name
()¶ Return type: the XML tag name
-
set_bank
(value)¶ Parameters: value – bank identifier
-
set_branch
(value)¶ Parameters: branch – branch identifier
-
set_id
(value)¶ Parameters: value – account id
-
set_key
(value)¶ Parameters: value – checksum
-
-
class
csb43.ofx.
File
(tagName='ofx', **kwargs)¶ An OFX file
>>> from csb43.ofx import File >>> f = File() >>> print f <?xml version="1.0" encoding="UTF-8"?> <?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?> <OFX><BANKMSGSRSV1></BANKMSGSRSV1></OFX>
-
add_response
(value)¶ Add a response to the file
Parameters: value ( Response
) – a response object to include in this object
-
get_tag_name
()¶ Return type: the XML tag name
-
-
csb43.ofx.
SGMLAggregate
(name, content)¶ Build a name SGML aggregate with content as body.
- Args:
- name – tag name content – content of the node
- Return:
- (str) <NAME>content</NAME>
>>> SGMLAggregate("hello", 12) u'<HELLO>12</HELLO>'
-
csb43.ofx.
SGMLElement
(name, content)¶ Build a name SGML element with content as body.
- Args:
- name – tag name content – content of the node
- Return:
- (str) <NAME>content
>>> SGMLElement("hello", 12) u'<HELLO>12'
-
class
csb43.ofx.
Transaction
(tagName='stmttrn', **kwargs)¶ A OFX transaction
-
TYPE
= ['CREDIT', 'DEBIT', 'INT', 'DIV', 'FEE', 'SRVCHG', 'DEP', 'ATM', 'POS', 'XFER', 'CHECK', 'PAYMENT', 'CASH', 'DIRECTDEP', 'DIRECTDEBIT', 'REPEATPMT', 'OTHER']¶ type of transaction
-
get_amount
()¶ Return type: number – amount of transaction
-
get_bank_account_to
()¶ Return type: BankAccount
– account the transaction is transferring to
-
get_cc_account_to
()¶ cc account to
-
get_correct_action
()¶ correct action
-
get_correct_fit_id
()¶ correct fit id
-
get_currency
()¶ Return type: pycountry.db.Currency
– currency of the transaction, if different from the one inBankAccount
-
get_date_available
()¶ Return type: datetime.datetime
– date funds are available
-
get_date_initiated
()¶ Return type: datetime.datetime
– date user initiated transaction
-
get_date_posted
()¶ Return type: datetime.datetime
– date transaction was posted to account
-
get_image_data
()¶ image data
-
get_origin_currency
()¶ Return type: pycountry.db.Currency
– currency of the transaction, if different from the one inBankAccount
-
get_payee
()¶ Return type: Payee
-
get_server_tid
()¶ server transaction id
-
get_standard_industrial_code
()¶ standard industrial code
-
get_tag_name
()¶ Return type: the XML tag name
-
set_extended_name
(value)¶ Parameters: value – extended name of payee or description of transaction
-
set_name
(value)¶ Parameters: value – name of payee or description of transaction
-
set_ref_num
(value)¶ Parameters: value – reference number that uniquely indentifies the transaction.
-
-
class
csb43.ofx.
TransactionList
(tagName='banktranslist', **kwargs)¶ Transaction list aggregate
-
add_transaction
(value)¶ Add a new transaction to the list
Parameters: value ( Transaction
) – a transaction
-
get_date_end
()¶ Return type: datetime.datetime
– date of the first transaction
-
get_date_start
()¶ Return type: datetime.datetime
– date of the first transaction
-
get_list
()¶ Return type: list
ofTransaction
-
get_tag_name
()¶ Return type: the XML tag name
-
set_date_end
(value)¶ Parameters: value ( datetime.datetime
) – date of end
-
set_date_start
(value)¶ Parameters: value ( datetime.datetime
) – date of start
-
-
csb43.ofx.
XMLAggregate
(*args, **kwargs)¶ Build a name XML aggregate with content as body.
- Args:
- name – tag name content – content of the node
- Return:
- (str) <NAME>content</NAME>
>>> XMLAggregate("hello", 12) u'<HELLO>12</HELLO>'
-
csb43.ofx.
XMLElement
(name, content)¶ Build a name XML element with content as body.
- Args:
- name – tag name content – content of the node
- Return:
- (str) <NAME>content</NAME>
>>> XMLElement("hello", 12) u'<HELLO>12</HELLO>'
-
csb43.ofx.
strBool
(field)¶ Format a boolean as specified by OFX
- Args:
- field (bool)
- Return:
- (str)
-
csb43.ofx.
strCurrency
(field)¶ Format a ISO-4217 currency entity as specified by OFX
- Args:
- field (pycountry.Currency)
- Return:
- (str)
-
csb43.ofx.
strDate
(field)¶ Format a date as specified by OFX
- Args:
- field (datetime)
- Return:
- (str)
-
csb43.ofx.
strText
(field)¶ Format a string as specified by OFX, that is, characters ‘&’, ‘>’ and ‘<’ are XML escaped.
Converter¶
-
csb43.ofx.converter.
convertFromCsb
(csb, sgml=False)¶ Convert a File file into an OFX file
Parameters: csb ( csb43.csb43.File
) – a CSB43 fileReturn type: csb43.ofx.File
>>> # OFX >>> from csb43 import csb_43, ofx >>> # >>> csbFile = csb_43.File(open("movimientos.csb"), strict=False) >>> # >>> # print to stdout >>> print ofx.convertFromCsb(csbFile)
-
converter.
PAYMODES
= {'04': 9, '11': 7, '05': 3, '01': 10, '10': 10, '03': 5, '08': 3, '15': 9, '02': 0, '12': 8, '17': 2, '07': 15, '99': 16}¶