Skip to content

Commit 9d18b28

Browse files
committed
use isinstance instead of type() is checks, move some tests around to simplify code a bit
1 parent 5b97142 commit 9d18b28

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

Diff for: src/__init__.py

+11-11
Original file line numberDiff line numberDiff line change
@@ -2889,13 +2889,13 @@ def __init__(self, filename=None, stream=None, filetype=None, rect=None, width=0
28892889
filename = filename.name
28902890
else:
28912891
raise TypeError(f"bad filename: {type(filename)=} {filename=}.")
2892-
2892+
28932893
if stream is not None:
2894-
if type(stream) in (bytes, memoryview):
2894+
if isinstance(stream, (bytes, memoryview)):
28952895
self.stream = stream
2896-
elif type(stream) is bytearray:
2896+
elif isinstance(stream, bytearray):
28972897
self.stream = bytes(stream)
2898-
elif type(stream) is io.BytesIO:
2898+
elif isinstance(stream, io.BytesIO):
28992899
self.stream = stream.getvalue()
29002900
else:
29012901
raise TypeError(f"bad stream: {type(stream)=}.")
@@ -2919,11 +2919,9 @@ def __init__(self, filename=None, stream=None, filetype=None, rect=None, width=0
29192919
elif not os.path.isfile(filename):
29202920
msg = f"'{filename}' is no file"
29212921
raise FileDataError(msg)
2922-
2923-
if from_file and os.path.getsize(filename) == 0:
2924-
raise EmptyFileError(f'Cannot open empty file: {filename=}.')
2925-
if type(stream) in (bytes, memoryview) and len(self.stream) == 0:
2926-
raise EmptyFileError(f'Cannot open empty stream.')
2922+
elif os.path.getsize(filename) == 0:
2923+
raise EmptyFileError(f'Cannot open empty file: {filename=}.')
2924+
29272925
w = width
29282926
h = height
29292927
r = JM_rect_from_py(rect)
@@ -2933,12 +2931,14 @@ def __init__(self, filename=None, stream=None, filetype=None, rect=None, width=0
29332931

29342932
if stream: # stream given, **MUST** be bytes!
29352933
assert isinstance(stream, (bytes, memoryview))
2934+
if len(self.stream) == 0:
2935+
raise EmptyFileError('Cannot open empty stream.')
29362936
c = stream
29372937
#len = (size_t) PyBytes_Size(stream);
29382938

29392939
if mupdf_cppyy:
2940-
buffer_ = mupdf.fz_new_buffer_from_copied_data( c)
2941-
data = mupdf.fz_open_buffer( buffer_)
2940+
buffer_ = mupdf.fz_new_buffer_from_copied_data(c)
2941+
data = mupdf.fz_open_buffer(buffer_)
29422942
else:
29432943
# Pass raw bytes data to mupdf.fz_open_memory(). This assumes
29442944
# that the bytes string will not be modified; i think the

0 commit comments

Comments
 (0)