mt940.models module¶
- class mt940.models.Amount(amount, status, currency=None, **kwargs)[source]¶
Bases:
Model
Amount object containing currency and amount
- Parameters:
>>> Amount('123.45', 'C', 'EUR') <123.45 EUR> >>> Amount('123.45', 'D', 'EUR') <-123.45 EUR>
- class mt940.models.Balance(status=None, amount=None, date=None, **kwargs)[source]¶
Bases:
Model
Parse balance statement
- Parameters:
>>> balance = Balance('C', '0.00', Date(2010, 7, 22)) >>> balance.status 'C' >>> balance.amount.amount Decimal('0.00') >>> isinstance(balance.date, Date) True >>> balance.date.year, balance.date.month, balance.date.day (2010, 7, 22)
>>> Balance() <None @ None>
- class mt940.models.Date(*args, **kwargs)[source]¶
-
Just a regular date object which supports dates given as strings
>>> Date(year='2000', month='1', day='2') Date(2000, 1, 2)
>>> Date(year='123', month='1', day='2') Date(2123, 1, 2)
- class mt940.models.DateTime(*args, **kwargs)[source]¶
-
Just a regular datetime object which supports dates given as strings
>>> DateTime(year='2000', month='1', day='2', hour='3', minute='4', ... second='5', microsecond='6') DateTime(2000, 1, 2, 3, 4, 5, 6)
>>> DateTime(year='123', month='1', day='2', hour='3', minute='4', ... second='5', microsecond='6') DateTime(2123, 1, 2, 3, 4, 5, 6)
>>> DateTime(2000, 1, 2, 3, 4, 5, 6) DateTime(2000, 1, 2, 3, 4, 5, 6)
>>> DateTime(year='123', month='1', day='2', hour='3', minute='4', ... second='5', microsecond='6', tzinfo=FixedOffset('60')) DateTime(2123, 1, 2, 3, 4, 5, 6, tzinfo=<mt940.models.FixedOffset ...>)
- Parameters:
year (str) – Year (0-100), will automatically add 2000 when needed
month (str) – Month
day (str) – Day
hour (str) – Hour
minute (str) – Minute
second (str) – Second
microsecond (str) – Microsecond
tzinfo (tzinfo) – Timezone information. Overwrites offset
offset (str) – Timezone offset in minutes, generates a tzinfo object with the given offset if no tzinfo is available.
- class mt940.models.FixedOffset(offset=0, name=None)[source]¶
Bases:
tzinfo
Fixed time offset based on the Python docs Source: https://docs.python.org/2/library/datetime.html#tzinfo-objects
>>> offset = FixedOffset(60) >>> offset.utcoffset(None).total_seconds() 3600.0 >>> offset.dst(None) datetime.timedelta(0) >>> offset.tzname(None) '60'
- class mt940.models.Transactions(processors=None, tags=None)[source]¶
Bases:
Sequence
Collection of
Transaction
objects with global properties such as begin and end balance- DEFAULT_PROCESSORS = {'post_account_identification': [], 'post_available_balance': [], 'post_closing_balance': [], 'post_date_time_indication': [], 'post_final_closing_balance': [], 'post_final_opening_balance': [], 'post_floor_limit_indicator': [], 'post_forward_available_balance': [], 'post_intermediate_closing_balance': [], 'post_intermediate_opening_balance': [], 'post_non_swift': [], 'post_opening_balance': [], 'post_related_reference': [], 'post_statement': [<function date_cleanup_post_processor>, <function transactions_to_transaction.<locals>._transactions_to_transaction>], 'post_statement_number': [], 'post_sum_credit_entries': [], 'post_sum_debit_entries': [], 'post_transaction_details': [<function transaction_details_post_processor>], 'post_transaction_reference_number': [], 'pre_account_identification': [], 'pre_available_balance': [], 'pre_closing_balance': [], 'pre_date_time_indication': [], 'pre_final_closing_balance': [], 'pre_final_opening_balance': [], 'pre_floor_limit_indicator': [], 'pre_forward_available_balance': [], 'pre_intermediate_closing_balance': [], 'pre_intermediate_opening_balance': [], 'pre_non_swift': [], 'pre_opening_balance': [], 'pre_related_reference': [], 'pre_statement': [<function date_fixup_pre_processor>], 'pre_statement_number': [], 'pre_sum_credit_entries': [], 'pre_sum_debit_entries': [], 'pre_transaction_details': [], 'pre_transaction_reference_number': []}¶
Using the processors you can pre-process data before creating objects and modify them after creating the objects
- property currency¶
- parse(data)[source]¶
Parses mt940 data, expects a string with data
- Parameters:
data (str) – The MT940 data
Returns:
list
ofTransaction