@@ -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 }  
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