Issue #16304: Further performance improvements for BZ2File.

Optimizations suggested by Serhiy Storchaka.
This commit is contained in:
Nadeem Vawda 2012-09-30 23:58:01 +02:00
parent d2489cf4d0
commit b7a0bfe912

View file

@ -159,15 +159,21 @@ class BZ2File(io.BufferedIOBase):
raise ValueError("I/O operation on closed file")
def _check_can_read(self):
if not self.readable():
if self.closed:
raise ValueError("I/O operation on closed file")
if self._mode not in (_MODE_READ, _MODE_READ_EOF):
raise io.UnsupportedOperation("File not open for reading")
def _check_can_write(self):
if not self.writable():
if self.closed:
raise ValueError("I/O operation on closed file")
if self._mode != _MODE_WRITE:
raise io.UnsupportedOperation("File not open for writing")
def _check_can_seek(self):
if not self.readable():
if self.closed:
raise ValueError("I/O operation on closed file")
if self._mode not in (_MODE_READ, _MODE_READ_EOF):
raise io.UnsupportedOperation("Seeking is only supported "
"on files open for reading")
if not self._fp.seekable():