New submission from Claudiu.Popa:
imghdr.what check explicitly for string path, while `open` happily accepts
bytes paths, as seen below:
>>> x
b'\xc2\xba'
>>> imghdr.what(x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/tank/libs/cpython/Lib/imghdr.py", line 15, in what
location = file.tell()
AttributeError: 'bytes' object has no attribute 'tell'
>>> open(x)
<_io.TextIOWrapper name=b'\xc2\xba' mode='r' encoding='UTF-8'>
A reason why this should be supported can be found in this message:
http://bugs.python.org/msg191691.
The following patch fixes this. Also, it depends on issue19990 (where
test_imghdr.py was added).
----------
components: Library (Lib)
files: imghdr_bytes.patch
keywords: patch
messages: 206299
nosy: Claudiu.Popa
priority: normal
severity: normal
status: open
title: imghdr.what doesn't accept bytes paths
type: behavior
versions: Python 3.5
Added file: http://bugs.python.org/file33164/imghdr_bytes.patch
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue19997>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com