mirror of
https://github.com/OCA/bank-statement-import.git
synced 2025-01-20 12:37:43 +02:00
[11.0 BUGFIX] Pass bytes to Ofxparse
The ofx files have the correct charset inside their headers and trying to convert the file to StringIO using a particular encoding is subject to failures when the file isn't exactly an ascii file. For example a file encoded with CP1252 with accents on letters like é or è will not be parser as utf-8 and will fail to load. Also since OfxParse is supposed to receive a file handle, it is correctly reading the file header and choosing the appropriate charset to read the rest of the file. For this reason, pass the bytes as a ByteIO that doesn't care about the encoding.
This commit is contained in:
committed by
Alexis de Lattre
parent
e802a0423f
commit
f462023706
@@ -39,7 +39,7 @@ class AccountBankStatementImport(models.TransientModel):
|
||||
if not OfxParser:
|
||||
return False
|
||||
try:
|
||||
ofx = OfxParser.parse(io.StringIO(data_file.decode('utf-8')))
|
||||
ofx = OfxParser.parse(io.BytesIO(data_file))
|
||||
except Exception as e:
|
||||
_logger.debug(e)
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user