Skip to content

Commit e9ff55a

Browse files
committed
rf: Add helper function to check for READ capability
1 parent aa97613 commit e9ff55a

File tree

1 file changed

+11
-15
lines changed

1 file changed

+11
-15
lines changed

Lib/gzip.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -318,45 +318,41 @@ def _write_raw(self, data):
318318

319319
return length
320320

321-
def read(self, size=-1):
322-
self._check_not_closed()
321+
def _check_read(self, caller):
323322
if self.mode != READ:
324323
import errno
325-
raise OSError(errno.EBADF, "read() on write-only GzipFile object")
324+
msg = f"{caller}() on write-only GzipFile object"
325+
raise OSError(errno.EBADF, msg)
326+
327+
def read(self, size=-1):
328+
self._check_not_closed()
329+
self._check_read("read")
326330
return self._buffer.read(size)
327331

328332
def read1(self, size=-1):
329333
"""Implements BufferedIOBase.read1()
330334
331335
Reads up to a buffer's worth of data if size is negative."""
332336
self._check_not_closed()
333-
if self.mode != READ:
334-
import errno
335-
raise OSError(errno.EBADF, "read1() on write-only GzipFile object")
337+
self._check_read("read1")
336338

337339
if size < 0:
338340
size = io.DEFAULT_BUFFER_SIZE
339341
return self._buffer.read1(size)
340342

341343
def readinto(self, b):
342344
self._check_not_closed()
343-
if self.mode != READ:
344-
import errno
345-
raise OSError(errno.EBADF, "readinto() on write-only GzipFile object")
345+
self._check_read("readinto")
346346
return self._buffer.readinto(b)
347347

348348
def readinto1(self, b):
349349
self._check_not_closed()
350-
if self.mode != READ:
351-
import errno
352-
raise OSError(errno.EBADF, "readinto1() on write-only GzipFile object")
350+
self._check_read("readinto1")
353351
return self._buffer.readinto1(b)
354352

355353
def peek(self, n):
356354
self._check_not_closed()
357-
if self.mode != READ:
358-
import errno
359-
raise OSError(errno.EBADF, "peek() on write-only GzipFile object")
355+
self._check_read("peek")
360356
return self._buffer.peek(n)
361357

362358
@property

0 commit comments

Comments
 (0)