[FIX] base: don't overwrite existing extensions

The point was to fix files attachments without an extension,
potentially appending to existing extensions was not a smart idea.

See #34299, 5eb15c01b5
This commit is contained in:
Xavier Morel
2019-07-02 10:06:50 +02:00
parent f72a016389
commit e09a5fb3ea
+5 -3
View File
@@ -367,9 +367,11 @@ class IrHttp(models.AbstractModel):
mimetype = guess_mimetype(base64.b64decode(content), default=default_mimetype)
# extension
extension = mimetypes.guess_extension(mimetype)
if extension and not filename.endswith(extension):
filename = "%s%s" % (filename, extension)
_, existing_extension = os.path.splitext(filename)
if not existing_extension:
extension = mimetypes.guess_extension(mimetype)
if extension:
filename = "%s%s" % (filename, extension)
if not filehash:
filehash = '"%s"' % hashlib.md5(pycompat.to_text(content).encode('utf-8')).hexdigest()