mt940.models module¶
-
class
mt940.models.
Amount
(amount, status, currency=None, **kwargs)[source]¶ Bases:
mt940.models.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:
mt940.models.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
[source]¶ Bases:
datetime.date
,mt940.models.Model
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)
Parameters:
-
class
mt940.models.
DateTime
[source]¶ Bases:
datetime.datetime
,mt940.models.Model
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:
datetime.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.
SumAmount
(*args, **kwargs)[source]¶ Bases:
mt940.models.Amount
-
class
mt940.models.
Transaction
(transactions, data=None)[source]¶ Bases:
mt940.models.Model
-
class
mt940.models.
Transactions
(processors=None, tags=None)[source]¶ Bases:
collections.abc.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
-
currency
¶
-
parse
(data)[source]¶ Parses mt940 data, expects a string with data
Parameters: data (str) – The MT940 data Returns:
list
ofTransaction
-