(self, pos, whence=0)
| 1430 | BufferedWriter.__init__(self, raw, buffer_size) |
| 1431 | |
| 1432 | def seek(self, pos, whence=0): |
| 1433 | if whence not in valid_seek_flags: |
| 1434 | raise ValueError("invalid whence value") |
| 1435 | self.flush() |
| 1436 | if self._read_buf: |
| 1437 | # Undo read ahead. |
| 1438 | with self._read_lock: |
| 1439 | self.raw.seek(self._read_pos - len(self._read_buf), 1) |
| 1440 | # First do the raw seek, then empty the read buffer, so that |
| 1441 | # if the raw seek fails, we don't lose buffered data forever. |
| 1442 | pos = self.raw.seek(pos, whence) |
| 1443 | with self._read_lock: |
| 1444 | self._reset_read_buf() |
| 1445 | if pos < 0: |
| 1446 | raise OSError("seek() returned invalid position") |
| 1447 | return pos |
| 1448 | |
| 1449 | def tell(self): |
| 1450 | if self._write_buf: |
nothing calls this directly
no test coverage detected