[issue37943] mimetypes.guess_extension() doesn’t get JPG right
Felipe Rodrigues
report at bugs.python.org
Sat Aug 22 07:22:21 EDT 2020
Felipe Rodrigues <felipe at felipevr.com> added the comment:
@_savage, on the commit @xtreak referred, there's a note that "image/jpg" and some other non-standard mimetypes are only supported if `strict=False`[1]
So, this:
>>> mimetypes.guess_extension("image/jpg")
Gives no return. But this works:
>>> mimetypes.guess_extension("image/jpg", strict=False)
'.jpg'
---------
I guess we could improve the current documentation [2]. It currently specifies correctly the `strict` behavior:
> The optional strict argument is a flag specifying whether the list of known MIME types is limited to
> only the official types registered with IANA. When strict is True (the default), only the IANA types
> are supported; when strict is False, some additional non-standard but commonly used MIME types are
> also recognized.
But I think it would be nice to have a table specifying what are those "non-standard but commonly used MIME types". Personally, I'd have a hard time guessing on a regular day of my life which of 'image/jpeg' and 'image/jpg' is standard or not. We could even add a nice note pointing out that the `common_types` property [3] is a list of those supported non-standard type .
Given the fact that the `strict` flag is used by different methods with the same behavior, maybe we could add a note on the top of the doc explaining the general meaning of that flag.
[1]: https://github.com/python/cpython/commit/2a99fd911ebeecedbb250a05667cd46eca4735b9#diff-fc65388a9cdf41980b2c31de5de67758R547
[2]: https://docs.python.org/3.10/library/mimetypes.html#mimetypes.guess_type
[3]: https://docs.python.org/3.10/library/mimetypes.html#mimetypes.common_types
----------
nosy: +fbidu
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37943>
_______________________________________
More information about the Python-bugs-list
mailing list