Message327375
When a user uses from import, there is a flaw in how mimetype.init() updates its global references.
# Option-1 (flawed)
# -----------------
from mimetypes import init, types_map
print(types_map.get('.gz')) # None
init() # <- initialize
print(types_map.get('.gz')) # None
# Option-2
# --------
import mimetypes
print(mimetypes.types_map.get('.gz')) # None
mimetypes.init() # <- initialize
print(mimetypes.types_map.get('.gz')) # application/gzip
As you can see in https://github.com/python/cpython/blob/master/Lib/mimetypes.py#L344 line:358 global reference is reassigned and thus it prevents `from mimetype import types_map` from being updated and using old `types_map` reference.
Potential solution would be to `types_map.update(new dict content)` vs reassigning the variable. |
|
Date |
User |
Action |
Args |
2018-10-08 22:13:09 | YoSTEALTH | set | recipients:
+ YoSTEALTH |
2018-10-08 22:13:09 | YoSTEALTH | set | messageid: <1539036789.21.0.545547206417.issue34938@psf.upfronthosting.co.za> |
2018-10-08 22:13:09 | YoSTEALTH | link | issue34938 messages |
2018-10-08 22:13:09 | YoSTEALTH | create | |
|