Skip to content

Commit

Permalink
Merge branch 'release/4.28.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
wolph committed Jan 12, 2023
2 parents 302379b + 236b0bd commit 81bfc45
Show file tree
Hide file tree
Showing 57 changed files with 528 additions and 158 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
timeout-minutes: 10
strategy:
matrix:
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
python-version: ['3.7', '3.8', '3.9', '3.10']

steps:
- uses: actions/checkout@v3
Expand Down
5 changes: 2 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
MT940
=====


.. image:: https://travis-ci.org/WoLpH/mt940.svg?branch=master
.. image:: https://github.com/wolph/mt940/actions/workflows/main.yml/badge.svg?branch=master
:alt: MT940 test status
:target: https://travis-ci.org/WoLpH/mt940
:target: https://github.com/wolph/mt940/actions/workflows/main.yml

.. image:: https://badge.fury.io/py/mt-940.svg
:alt: MT940 Pypi version
Expand Down
2 changes: 1 addition & 1 deletion mt940/__about__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
statistics and manipulation.
'''.strip().split())
__email__ = 'wolph@wol.ph'
__version__ = '4.27.0'
__version__ = '4.28.0'
__license__ = 'BSD'
__copyright__ = 'Copyright 2015 Rick van Hattem (wolph)'
__url__ = 'https://github.com/WoLpH/mt940'
9 changes: 7 additions & 2 deletions mt940/tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,10 @@ def parse(self, transactions, value):
match.groupdict())
else: # pragma: no cover
self.logger.error(
'matching (%d) %r against %r', len(value), value,
'matching id=%s (len=%d) "%s" against\n %s',
self.id,
len(value),
value,
self.pattern)

part_value = value
Expand Down Expand Up @@ -301,7 +304,9 @@ class Statement(Tag):
\n? # apparently some banks (sparkassen) incorporate newlines here
(?P<amount>[\d,]{1,15}) # 15d Amount
(?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification Code
(?P<customer_reference>[^/\n]{0,16}) # 16x Customer Reference
# We need the (slow) repeating negative lookahead to search for // so we
# don't acciddntly include the bank reference in the customer reference.
(?P<customer_reference>((?!//)[^\n]){0,16}) # 16x Customer Reference
(//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference
(\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details
$'''
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/amount_formats.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/currency_in_25.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/empty_86.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/empty_entry_date.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/empty_line.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/missing_crlf_at_end.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/sepa_mt9401.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/sepa_snippet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/sepa_snippet_broken.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/betterplace/with_binary_character.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/cmxl/account_balance_credit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/cmxl/account_balance_debit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/cmxl/account_identification_iban.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/cmxl/account_identification_legacy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/cmxl/available_balance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/cmxl/closing_balance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down
8 changes: 5 additions & 3 deletions mt940_tests/cmxl/mt940.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,11 @@ tags:
\ # code, if needed)\n \\n? # apparently some\
\ banks (sparkassen) incorporate newlines here\n (?P<amount>[\\d,]{1,15})\
\ # 15d Amount\n (?P<id>[A-Z][A-Z0-9 ]{3})? # 1!a3!c Transaction Type Identification\
\ Code\n (?P<customer_reference>[^/\\n]{0,16}) # 16x Customer Reference\n\
\ (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n (\\n?(?P<extra_details>.{0,34}))?\
\ # [34x] Supplementary Details\n $"
\ Code\n # We need the (slow) repeating negative lookahead to search for\
\ // so we\n # don't acciddntly include the bank reference in the customer\
\ reference.\n (?P<customer_reference>((?!//)[^\\n]){0,16}) # 16x Customer\
\ Reference\n (//(?P<bank_reference>.{0,23}))? # [//23x] Bank Reference\n\
\ (\\n?(?P<extra_details>.{0,34}))? # [34x] Supplementary Details\n $"
- 98
62: !!python/object:mt940.tags.ClosingBalance
re: *id001
Expand Down

0 comments on commit 81bfc45

Please sign in to comment.