mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-28 10:44:36 +08:00
Modify imghdr.py and write unittest
This commit is contained in:
1 parent
6a105bf696
commit
0c53d507f6
15 files changed
+39
-3
No files matched your search
+6
-3
@@ -1,9 +1,11 @@
|
||||
"""Recognize image file formats based on their first few bytes."""
|
||||
|
||||
from os import PathLike
|
||||
#from os import PathLike
|
||||
|
||||
__all__ = ["what"]
|
||||
|
||||
# should replace using FileIO into file
|
||||
from io import FileIO
|
||||
#-------------------------#
|
||||
# Recognize image headers #
|
||||
#-------------------------#
|
||||
@@ -12,8 +14,9 @@ def what(file, h=None):
|
||||
f = None
|
||||
try:
|
||||
if h is None:
|
||||
if isinstance(file, (str, PathLike)):
|
||||
f = open(file, 'rb')
|
||||
# if isinstance(file, (str, PathLike))
|
||||
if isinstance(file, str): # FIXME(corona10): RustPython doesn't support PathLike yet.
|
||||
f = FileIO(file, 'rb')
|
||||
h = f.read(32)
|
||||
else:
|
||||
location = file.tell()
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 610 B |
Binary file not shown.
|
After Width: | Height: | Size: 543 B |
@@ -0,0 +1,3 @@
|
||||
P4
|
||||
16 16
|
||||
ûñ¿úßÕ±[ñ¥a_ÁX°°ðððð?ÿÿ
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 1020 B |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 432 B |
@@ -0,0 +1,6 @@
|
||||
#define python_width 16
|
||||
#define python_height 16
|
||||
static char python_bits[] = {
|
||||
0xDF, 0xFE, 0x8F, 0xFD, 0x5F, 0xFB, 0xAB, 0xFE, 0xB5, 0x8D, 0xDA, 0x8F,
|
||||
0xA5, 0x86, 0xFA, 0x83, 0x1A, 0x80, 0x0D, 0x80, 0x0D, 0x80, 0x0F, 0xE0,
|
||||
0x0F, 0xF8, 0x0F, 0xF8, 0x0F, 0xFC, 0xFF, 0xFF, };
|
||||
@@ -0,0 +1,24 @@
|
||||
# unittest for modified imghdr.py
|
||||
# Should be replace it into https://github.com/python/cpython/blob/master/Lib/test/test_imghdr.py
|
||||
|
||||
import imghdr
|
||||
|
||||
TEST_FILES = (
|
||||
#('python.png', 'png'),
|
||||
('python.gif', 'gif'),
|
||||
('python.bmp', 'bmp'),
|
||||
('python.ppm', 'ppm'),
|
||||
('python.pgm', 'pgm'),
|
||||
('python.pbm', 'pbm'),
|
||||
('python.jpg', 'jpeg'),
|
||||
('python.ras', 'rast'),
|
||||
#('python.sgi', 'rgb'),
|
||||
('python.tiff', 'tiff'),
|
||||
('python.xbm', 'xbm'),
|
||||
('python.webp', 'webp'),
|
||||
('python.exr', 'exr'),
|
||||
)
|
||||
|
||||
for fname, expected in TEST_FILES:
|
||||
res = imghdr.what('tests/snippets/imghdrdata/'+fname)
|
||||
assert res == expected
|
||||
Reference in new issue
Block a user