mirror of
https://github.com/OCA/bank-statement-import.git
synced 2025-01-20 12:37:43 +02:00
Merge pull request #133 from eLBati/10.0-camt054
[10.0] allow camt054 to be parsed
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
Bank Statement Parse Camt
|
Bank Statement Parse Camt
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
Module to import SEPA CAMT.053 Format bank statement files.
|
Module to import SEPA CAMT.053 and CAMT.054 Format bank statement files.
|
||||||
|
|
||||||
Based on the Banking addons framework.
|
Based on the Banking addons framework.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
{
|
{
|
||||||
'name': 'CAMT Format Bank Statements Import',
|
'name': 'CAMT Format Bank Statements Import',
|
||||||
'version': '10.0.1.1.0',
|
'version': '10.0.1.1.1',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
'author': 'Odoo Community Association (OCA), Therp BV',
|
'author': 'Odoo Community Association (OCA), Therp BV',
|
||||||
'website': 'https://github.com/OCA/bank-statement-import',
|
'website': 'https://github.com/OCA/bank-statement-import',
|
||||||
|
|||||||
@@ -222,22 +222,24 @@ class CamtParser(models.AbstractModel):
|
|||||||
)
|
)
|
||||||
if not re_camt.search(ns):
|
if not re_camt.search(ns):
|
||||||
raise ValueError('no camt: ' + ns)
|
raise ValueError('no camt: ' + ns)
|
||||||
# Check wether version 052 or 053:
|
# Check wether version 052 ,053 or 054:
|
||||||
re_camt_version = re.compile(
|
re_camt_version = re.compile(
|
||||||
r'(^urn:iso:std:iso:20022:tech:xsd:camt.053.'
|
r'(^urn:iso:std:iso:20022:tech:xsd:camt.054.'
|
||||||
|
r'|^urn:iso:std:iso:20022:tech:xsd:camt.053.'
|
||||||
r'|^urn:iso:std:iso:20022:tech:xsd:camt.052.'
|
r'|^urn:iso:std:iso:20022:tech:xsd:camt.052.'
|
||||||
|
r'|^ISO:camt.054.'
|
||||||
r'|^ISO:camt.053.'
|
r'|^ISO:camt.053.'
|
||||||
r'|^ISO:camt.052.)'
|
r'|^ISO:camt.052.)'
|
||||||
)
|
)
|
||||||
if not re_camt_version.search(ns):
|
if not re_camt_version.search(ns):
|
||||||
raise ValueError('no camt 052 or 053: ' + ns)
|
raise ValueError('no camt 052 or 053 or 054: ' + ns)
|
||||||
# Check GrpHdr element:
|
# Check GrpHdr element:
|
||||||
root_0_0 = root[0][0].tag[len(ns) + 2:] # strip namespace
|
root_0_0 = root[0][0].tag[len(ns) + 2:] # strip namespace
|
||||||
if root_0_0 != 'GrpHdr':
|
if root_0_0 != 'GrpHdr':
|
||||||
raise ValueError('expected GrpHdr, got: ' + root_0_0)
|
raise ValueError('expected GrpHdr, got: ' + root_0_0)
|
||||||
|
|
||||||
def parse(self, data):
|
def parse(self, data):
|
||||||
"""Parse a camt.052 or camt.053 file."""
|
"""Parse a camt.052 or camt.053 or camt.054 file."""
|
||||||
try:
|
try:
|
||||||
root = etree.fromstring(
|
root = etree.fromstring(
|
||||||
data, parser=etree.XMLParser(recover=True))
|
data, parser=etree.XMLParser(recover=True))
|
||||||
|
|||||||
Reference in New Issue
Block a user