@@ -61,9 +61,9 @@ def extract_inline__ascii_hex_decode(stream: StreamType) -> bytes:
6161 data_out = bytearray ()
6262 # Read data until delimiter > and EI as backup.
6363 while True :
64- data_buffered = read_non_whitespace (stream ) + stream .read (BUFFER_SIZE )
65- if not data_buffered :
66- raise PdfReadError ("Unexpected end of stream" )
64+ data_buffered = read_non_whitespace (stream ) + ( read_bytes := stream .read (BUFFER_SIZE ) )
65+ if not data_buffered or not read_bytes :
66+ raise PdfReadError ("Unexpected end of stream. " )
6767 pos_tok = data_buffered .find (b">" )
6868 if pos_tok >= 0 : # found >
6969 data_out += data_buffered [: pos_tok + 1 ]
@@ -81,13 +81,13 @@ def extract_inline__ascii_hex_decode(stream: StreamType) -> bytes:
8181 break
8282 if len (data_buffered ) == 2 :
8383 data_out += data_buffered
84- raise PdfReadError ("Unexpected end of stream" )
84+ raise PdfReadError ("Unexpected end of stream. " )
8585 # Neither > nor EI found
8686 data_out += data_buffered [:- 2 ]
8787 stream .seek (- 2 , 1 )
8888
8989 if not _check_end_image_marker (stream ):
90- raise PdfReadError ("EI stream not found" )
90+ raise PdfReadError ("EI stream not found. " )
9191 return bytes (data_out )
9292
9393
@@ -99,24 +99,24 @@ def extract_inline__ascii85_decode(stream: StreamType) -> bytes:
9999 data_out = bytearray ()
100100 # Read data until delimiter ~>
101101 while True :
102- data_buffered = read_non_whitespace (stream ) + stream .read (BUFFER_SIZE )
103- if not data_buffered :
104- raise PdfReadError ("Unexpected end of stream" )
102+ data_buffered = read_non_whitespace (stream ) + ( read_bytes := stream .read (BUFFER_SIZE ) )
103+ if not data_buffered or not read_bytes :
104+ raise PdfReadError ("Unexpected end of stream. " )
105105 pos_tok = data_buffered .find (b"~>" )
106106 if pos_tok >= 0 : # found!
107107 data_out += data_buffered [: pos_tok + 2 ]
108108 stream .seek (- len (data_buffered ) + pos_tok + 2 , 1 )
109109 break
110110 if len (data_buffered ) == 2 : # end of buffer
111111 data_out += data_buffered
112- raise PdfReadError ("Unexpected end of stream" )
112+ raise PdfReadError ("Unexpected end of stream. " )
113113 data_out += data_buffered [
114114 :- 2
115115 ] # back by one char in case of in the middle of ~>
116116 stream .seek (- 2 , 1 )
117117
118118 if not _check_end_image_marker (stream ):
119- raise PdfReadError ("EI stream not found" )
119+ raise PdfReadError ("EI stream not found. " )
120120 return bytes (data_out )
121121
122122
@@ -130,7 +130,7 @@ def extract_inline__run_length_decode(stream: StreamType) -> bytes:
130130 while True :
131131 data_buffered = stream .read (BUFFER_SIZE )
132132 if not data_buffered :
133- raise PdfReadError ("Unexpected end of stream" )
133+ raise PdfReadError ("Unexpected end of stream. " )
134134 pos_tok = data_buffered .find (b"\x80 " )
135135 if pos_tok >= 0 : # found
136136 # Ideally, we could just use plain run-length decoding here, where 80_16 = 128_10
@@ -155,7 +155,7 @@ def extract_inline__run_length_decode(stream: StreamType) -> bytes:
155155 data_out += data_buffered
156156
157157 if not _check_end_image_marker (stream ):
158- raise PdfReadError ("EI stream not found" )
158+ raise PdfReadError ("EI stream not found. " )
159159 return bytes (data_out )
160160
161161
@@ -169,7 +169,7 @@ def read(length: int) -> bytes:
169169 # If the object is in non-blocking mode and no bytes are available, `None` is returned.
170170 _result = stream .read (length )
171171 if _result is None or len (_result ) != length :
172- raise PdfReadError ("Unexpected end of stream" )
172+ raise PdfReadError ("Unexpected end of stream. " )
173173 return _result
174174
175175 data_out = bytearray ()
@@ -202,7 +202,7 @@ def read(length: int) -> bytes:
202202 data_out += read (sz - 2 )
203203
204204 if not _check_end_image_marker (stream ):
205- raise PdfReadError ("EI stream not found" )
205+ raise PdfReadError ("EI stream not found. " )
206206 return bytes (data_out )
207207
208208
@@ -213,7 +213,7 @@ def extract_inline_default(stream: StreamType) -> bytes:
213213 while True :
214214 data_buffered = stream .read (BUFFER_SIZE )
215215 if not data_buffered :
216- raise PdfReadError ("Unexpected end of stream" )
216+ raise PdfReadError ("Unexpected end of stream. " )
217217 pos_ei = data_buffered .find (
218218 b"E"
219219 ) # We can not look straight for "EI" because it may not have been loaded in the buffer
0 commit comments