Read exactly *n* bytes from `fp` This method is required because fp may be unbuffered, i.e. return short reads.
(fp, n)
| 469 | super().__del__() |
| 470 | |
| 471 | def _read_exact(fp, n): |
| 472 | '''Read exactly *n* bytes from `fp` |
| 473 | |
| 474 | This method is required because fp may be unbuffered, |
| 475 | i.e. return short reads. |
| 476 | ''' |
| 477 | data = fp.read(n) |
| 478 | while len(data) < n: |
| 479 | b = fp.read(n - len(data)) |
| 480 | if not b: |
| 481 | raise EOFError("Compressed file ended before the " |
| 482 | "end-of-stream marker was reached") |
| 483 | data += b |
| 484 | return data |
| 485 | |
| 486 | |
| 487 | def _read_gzip_header(fp): |
no test coverage detected
searching dependent graphs…