| 720 | |
| 721 | |
| 722 | def _get_compressor(compress_type, compresslevel=None): |
| 723 | if compress_type == ZIP_DEFLATED: |
| 724 | if compresslevel is not None: |
| 725 | return zlib.compressobj(compresslevel, zlib.DEFLATED, -15) |
| 726 | return zlib.compressobj(zlib.Z_DEFAULT_COMPRESSION, zlib.DEFLATED, -15) |
| 727 | elif compress_type == ZIP_BZIP2: |
| 728 | if compresslevel is not None: |
| 729 | return bz2.BZ2Compressor(compresslevel) |
| 730 | return bz2.BZ2Compressor() |
| 731 | # compresslevel is ignored for ZIP_LZMA |
| 732 | elif compress_type == ZIP_LZMA: |
| 733 | return LZMACompressor() |
| 734 | else: |
| 735 | return None |
| 736 | |
| 737 | |
| 738 | def _get_decompressor(compress_type): |