[FIX] account_ebics - Stop camt split on an invalid XML file

The error was noted but processing went on with root.nsmap, raising an
AttributeError. Unparseable content now also yields the "Invalid XML
file." notification instead of an XMLSyntaxError.
This commit is contained in:
Jérémy Didderen committed 2026-10-27 21:38:39 +01:00
1 parent 296695f97a
commit 3585c85298
2 files changed
+6 -2

No files matched your search

+5 -1
View File
@@ -568,10 +568,14 @@ class EbicsFile(models.Model):
"""
datas = []
file_data = base64.b64decode(self.data)
root = etree.fromstring(file_data, parser=etree.XMLParser(recover=True))
try:
root = etree.fromstring(file_data, parser=etree.XMLParser(recover=True))
except etree.XMLSyntaxError:
root = None
if root is None:
message = self.env._("Invalid XML file.")
res["notifications"].append({"type": "error", "message": message})
return datas
ns = {k or "ns": v for k, v in root.nsmap.items()}
camt_variant = ns["ns"].split("camt.")[1][:3]
variant_tags = {