Decompress a block of data. For incremental decompression, use a BZ2Decompressor object instead.
(data)
| 330 | |
| 331 | |
| 332 | def decompress(data): |
| 333 | """Decompress a block of data. |
| 334 | |
| 335 | For incremental decompression, use a BZ2Decompressor object instead. |
| 336 | """ |
| 337 | results = [] |
| 338 | while data: |
| 339 | decomp = BZ2Decompressor() |
| 340 | try: |
| 341 | res = decomp.decompress(data) |
| 342 | except OSError: |
| 343 | if results: |
| 344 | break # Leftover data is not a valid bzip2 stream; ignore it. |
| 345 | else: |
| 346 | raise # Error on the first iteration; bail out. |
| 347 | results.append(res) |
| 348 | if not decomp.eof: |
| 349 | raise ValueError("Compressed data ended before the " |
| 350 | "end-of-stream marker was reached") |
| 351 | data = decomp.unused_data |
| 352 | return b"".join(results) |
no test coverage detected
searching dependent graphs…