コード例 #1
0
def compress(string, level=6):
    if level < Z_BEST_SPEED or level > Z_BEST_COMPRESSION:
        raise error, "Bad compression level"
    deflater = Deflater(level, 0)
    deflater.setInput(string, 0, len(string))
    deflater.finish()
    return _get_deflate_data(deflater)
コード例 #2
0
ファイル: zlib.py プロジェクト: chenxingyong/eclipse-plugins
 def __init__(self, level=6, method=DEFLATED, wbits=MAX_WBITS,
                    memLevel=0, strategy=0):
     if abs(wbits) > MAX_WBITS or abs(wbits) < 8:
         raise ValueError, "Invalid initialization option"
     self.deflater = Deflater(level, wbits < 0)
     self.deflater.setStrategy(strategy)
     if wbits < 0:
         _get_deflate_data(self.deflater)
     self._ended = False
コード例 #3
0
def compress(string, level=6):
    if level < Z_BEST_SPEED or level > Z_BEST_COMPRESSION:
        raise error("Bad compression level")
    deflater = Deflater(level, 0)
    try:
        string = _to_input(string)
        deflater.setInput(string, 0, len(string))
        deflater.finish()
        return _get_deflate_data(deflater)
    finally:
        deflater.end()
コード例 #4
0
ファイル: zlib.py プロジェクト: loy2000/Ghidra
 def __init__(self, level=6, method=DEFLATED, wbits=MAX_WBITS,
                    memLevel=0, strategy=0):
     if abs(wbits) & 16:
         if wbits > 0:
             wbits -= 16
         else:
             wbits += 16
         self._gzip = True
     else:
         self._gzip = False
     if abs(wbits) > MAX_WBITS or abs(wbits) < 8:
         raise ValueError, "Invalid initialization option: %s" % (wbits,)
     self.deflater = Deflater(level, wbits < 0 or self._gzip)
     self.deflater.setStrategy(strategy)
     self._ended = False
     self._size = 0
     self._crc32 = CRC32()
コード例 #5
0

if not sys.platform.startswith('java'):

    import zlib

    def _compress(text):
        return zlib.compress(text, 9)

else:
    # Custom compress implementation needed to avoid memory leak:
    # http://bugs.jython.org/issue1775
    # This is based on the zlib.compress in Jython 2.5.2 but has a memory
    # leak fix and is also a little faster.

    from java.util.zip import Deflater
    import jarray

    _DEFLATOR = Deflater(9, False)

    def _compress(text):
        _DEFLATOR.setInput(text)
        _DEFLATOR.finish()
        buf = jarray.zeros(1024, 'b')
        compressed = []
        while not _DEFLATOR.finished():
            length = _DEFLATOR.deflate(buf, 0, 1024)
            compressed.append(buf[:length].tostring())
        _DEFLATOR.reset()
        return ''.join(compressed)