Python zlib.compressobj() Examples
The following are 30
code examples of zlib.compressobj().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
zlib
, or try the search function
.
Example #1
Source File: transport.py From learn_python3_spider with MIT License | 6 votes |
def _newKeys(self): """ Called back by a subclass once a I{MSG_NEWKEYS} message has been received. This indicates key exchange has completed and new encryption and compression parameters should be adopted. Any messages which were queued during key exchange will also be flushed. """ log.msg('NEW KEYS') self.currentEncryptions = self.nextEncryptions if self.outgoingCompressionType == b'zlib': self.outgoingCompression = zlib.compressobj(6) if self.incomingCompressionType == b'zlib': self.incomingCompression = zlib.decompressobj() self._keyExchangeState = self._KEY_EXCHANGE_NONE messages = self._blockedByKeyExchange self._blockedByKeyExchange = None for (messageType, payload) in messages: self.sendPacket(messageType, payload)
Example #2
Source File: websocket.py From opendevops with GNU General Public License v3.0 | 6 votes |
def get_compression_options(self) -> Optional[Dict[str, Any]]: """Override to return compression options for the connection. If this method returns None (the default), compression will be disabled. If it returns a dict (even an empty one), it will be enabled. The contents of the dict may be used to control the following compression options: ``compression_level`` specifies the compression level. ``mem_level`` specifies the amount of memory used for the internal compression state. These parameters are documented in details here: https://docs.python.org/3.6/library/zlib.html#zlib.compressobj .. versionadded:: 4.1 .. versionchanged:: 4.5 Added ``compression_level`` and ``mem_level``. """ # TODO: Add wbits option. return None
Example #3
Source File: test_msgutil.py From pywebsocket with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_send_message(self): compress = zlib.compressobj( zlib.Z_DEFAULT_COMPRESSION, zlib.DEFLATED, -zlib.MAX_WBITS) extension = common.ExtensionParameter(common.DEFLATE_FRAME_EXTENSION) request = _create_request_from_rawdata( '', deflate_frame_request=extension) msgutil.send_message(request, 'Hello') msgutil.send_message(request, 'World') expected = '' compressed_hello = compress.compress('Hello') compressed_hello += compress.flush(zlib.Z_SYNC_FLUSH) compressed_hello = compressed_hello[:-4] expected += '\xc1%c' % len(compressed_hello) expected += compressed_hello compressed_world = compress.compress('World') compressed_world += compress.flush(zlib.Z_SYNC_FLUSH) compressed_world = compressed_world[:-4] expected += '\xc1%c' % len(compressed_world) expected += compressed_world self.assertEqual(expected, request.connection.written_data())
Example #4
Source File: response.py From pledgeservice with Apache License 2.0 | 6 votes |
def gzip_app_iter(app_iter): size = 0 crc = zlib.crc32(b"") & 0xffffffff compress = zlib.compressobj(9, zlib.DEFLATED, -zlib.MAX_WBITS, zlib.DEF_MEM_LEVEL, 0) yield _gzip_header for item in app_iter: size += len(item) crc = zlib.crc32(item, crc) & 0xffffffff # The compress function may return zero length bytes if the input is # small enough; it buffers the input for the next iteration or for a # flush. result = compress.compress(item) if result: yield result # Similarly, flush may also not yield a value. result = compress.flush() if result: yield result yield struct.pack("<2L", crc, size & 0xffffffff)
Example #5
Source File: test_msgutil.py From pywebsocket with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_send_message_no_context_takeover_parameter(self): compress = zlib.compressobj( zlib.Z_DEFAULT_COMPRESSION, zlib.DEFLATED, -zlib.MAX_WBITS) extension = common.ExtensionParameter(common.DEFLATE_FRAME_EXTENSION) extension.add_parameter('no_context_takeover', None) request = _create_request_from_rawdata( '', deflate_frame_request=extension) for i in xrange(3): msgutil.send_message(request, 'Hello') compressed_message = compress.compress('Hello') compressed_message += compress.flush(zlib.Z_SYNC_FLUSH) compressed_message = compressed_message[:-4] expected = '\xc1%c' % len(compressed_message) expected += compressed_message self.assertEqual( expected + expected + expected, request.connection.written_data())
Example #6
Source File: git.py From honeything with GNU General Public License v3.0 | 6 votes |
def _encode_packobj(type, content, compression_level=1): szout = '' sz = len(content) szbits = (sz & 0x0f) | (_typemap[type]<<4) sz >>= 4 while 1: if sz: szbits |= 0x80 szout += chr(szbits) if not sz: break szbits = sz & 0x7f sz >>= 7 if compression_level > 9: compression_level = 9 elif compression_level < 0: compression_level = 0 z = zlib.compressobj(compression_level) yield szout yield z.compress(content) yield z.flush()
Example #7
Source File: backend_pdf.py From Computable with MIT License | 6 votes |
def __init__(self, id, len, file, extra=None): """id: object id of stream; len: an unused Reference object for the length of the stream, or None (to use a memory buffer); file: a PdfFile; extra: a dictionary of extra key-value pairs to include in the stream header """ self.id = id # object id self.len = len # id of length object self.pdfFile = file self.file = file.fh # file to which the stream is written self.compressobj = None # compression object if extra is None: self.extra = dict() else: self.extra = extra self.pdfFile.recordXref(self.id) if rcParams['pdf.compression']: self.compressobj = zlib.compressobj(rcParams['pdf.compression']) if self.len is None: self.file = BytesIO() else: self._writeHeader() self.pos = self.file.tell()
Example #8
Source File: backend_pdf.py From matplotlib-4-abaqus with MIT License | 6 votes |
def __init__(self, id, len, file, extra=None): """id: object id of stream; len: an unused Reference object for the length of the stream, or None (to use a memory buffer); file: a PdfFile; extra: a dictionary of extra key-value pairs to include in the stream header """ self.id = id # object id self.len = len # id of length object self.pdfFile = file self.file = file.fh # file to which the stream is written self.compressobj = None # compression object if extra is None: self.extra = dict() else: self.extra = extra self.pdfFile.recordXref(self.id) if rcParams['pdf.compression']: self.compressobj = zlib.compressobj(rcParams['pdf.compression']) if self.len is None: self.file = BytesIO() else: self._writeHeader() self.pos = self.file.tell()
Example #9
Source File: websocket.py From pySINDy with MIT License | 6 votes |
def get_compression_options(self): """Override to return compression options for the connection. If this method returns None (the default), compression will be disabled. If it returns a dict (even an empty one), it will be enabled. The contents of the dict may be used to control the following compression options: ``compression_level`` specifies the compression level. ``mem_level`` specifies the amount of memory used for the internal compression state. These parameters are documented in details here: https://docs.python.org/3.6/library/zlib.html#zlib.compressobj .. versionadded:: 4.1 .. versionchanged:: 4.5 Added ``compression_level`` and ``mem_level``. """ # TODO: Add wbits option. return None
Example #10
Source File: transport.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def _newKeys(self): """ Called back by a subclass once a I{MSG_NEWKEYS} message has been received. This indicates key exchange has completed and new encryption and compression parameters should be adopted. Any messages which were queued during key exchange will also be flushed. """ log.msg('NEW KEYS') self.currentEncryptions = self.nextEncryptions if self.outgoingCompressionType == b'zlib': self.outgoingCompression = zlib.compressobj(6) if self.incomingCompressionType == b'zlib': self.incomingCompression = zlib.decompressobj() self._keyExchangeState = self._KEY_EXCHANGE_NONE messages = self._blockedByKeyExchange self._blockedByKeyExchange = None for (messageType, payload) in messages: self.sendPacket(messageType, payload)
Example #11
Source File: websocket.py From teleport with Apache License 2.0 | 6 votes |
def get_compression_options(self): """Override to return compression options for the connection. If this method returns None (the default), compression will be disabled. If it returns a dict (even an empty one), it will be enabled. The contents of the dict may be used to control the following compression options: ``compression_level`` specifies the compression level. ``mem_level`` specifies the amount of memory used for the internal compression state. These parameters are documented in details here: https://docs.python.org/3.6/library/zlib.html#zlib.compressobj .. versionadded:: 4.1 .. versionchanged:: 4.5 Added ``compression_level`` and ``mem_level``. """ # TODO: Add wbits option. return None
Example #12
Source File: websocket.py From teleport with Apache License 2.0 | 6 votes |
def get_compression_options(self) -> Optional[Dict[str, Any]]: """Override to return compression options for the connection. If this method returns None (the default), compression will be disabled. If it returns a dict (even an empty one), it will be enabled. The contents of the dict may be used to control the following compression options: ``compression_level`` specifies the compression level. ``mem_level`` specifies the amount of memory used for the internal compression state. These parameters are documented in details here: https://docs.python.org/3.6/library/zlib.html#zlib.compressobj .. versionadded:: 4.1 .. versionchanged:: 4.5 Added ``compression_level`` and ``mem_level``. """ # TODO: Add wbits option. return None
Example #13
Source File: websocket.py From teleport with Apache License 2.0 | 6 votes |
def get_compression_options(self) -> Optional[Dict[str, Any]]: """Override to return compression options for the connection. If this method returns None (the default), compression will be disabled. If it returns a dict (even an empty one), it will be enabled. The contents of the dict may be used to control the following compression options: ``compression_level`` specifies the compression level. ``mem_level`` specifies the amount of memory used for the internal compression state. These parameters are documented in details here: https://docs.python.org/3.6/library/zlib.html#zlib.compressobj .. versionadded:: 4.1 .. versionchanged:: 4.5 Added ``compression_level`` and ``mem_level``. """ # TODO: Add wbits option. return None
Example #14
Source File: zipnumclusterjob.py From webarchive-indexing with MIT License | 6 votes |
def _write_part(self): z = zlib.compressobj(6, zlib.DEFLATED, zlib.MAX_WBITS + 16) offset = self.gzip_temp.tell() buff = '\n'.join(self.curr_lines) + '\n' self.curr_lines = [] buff = z.compress(buff) self.gzip_temp.write(buff) buff = z.flush() self.gzip_temp.write(buff) self.gzip_temp.flush() length = self.gzip_temp.tell() - offset partline = '{0}\t{1}\t{2}\t{3}'.format(self.curr_key, self.part_name, offset, length) return partline
Example #15
Source File: encoders.py From vlcp with Apache License 2.0 | 6 votes |
def enc(self, data, final): buf = [] if not self.writeheader: h = header.new() h.mtime = int(time.time()) h.fname = self.fname buf.append(header.tobytes(h)) self.compobj = zlib.compressobj(self.level, zlib.DEFLATED, -zlib.MAX_WBITS, zlib.DEF_MEM_LEVEL) self.writeheader = True buf.append(self.compobj.compress(data)) self.crc = zlib.crc32(data, self.crc) & 0xffffffff self.size += len(data) if final: buf.append(self.compobj.flush()) t = tail.new() t.crc32 = self.crc t.isize = self.size buf.append(tail.tobytes(t)) return b''.join(buf)
Example #16
Source File: backend_pdf.py From neural-network-animation with MIT License | 6 votes |
def __init__(self, id, len, file, extra=None): """id: object id of stream; len: an unused Reference object for the length of the stream, or None (to use a memory buffer); file: a PdfFile; extra: a dictionary of extra key-value pairs to include in the stream header """ self.id = id # object id self.len = len # id of length object self.pdfFile = file self.file = file.fh # file to which the stream is written self.compressobj = None # compression object if extra is None: self.extra = dict() else: self.extra = extra self.pdfFile.recordXref(self.id) if rcParams['pdf.compression']: self.compressobj = zlib.compressobj(rcParams['pdf.compression']) if self.len is None: self.file = BytesIO() else: self._writeHeader() self.pos = self.file.tell()
Example #17
Source File: torrentfilms_plugin.py From HTTPAceProxy with GNU General Public License v3.0 | 6 votes |
def handle(self, connection): exported = self.createPlaylist(connection.headers['Host'], connection.reqtype, query_get(connection.query, 'fmt')).encode('utf-8') connection.send_response(200) connection.send_header('Content-Type', 'audio/mpegurl; charset=utf-8') connection.send_header('Access-Control-Allow-Origin', '*') try: h = connection.headers.get('Accept-Encoding').split(',')[0] compress_method = { 'zlib': zlib.compressobj(9, zlib.DEFLATED, zlib.MAX_WBITS), 'deflate': zlib.compressobj(9, zlib.DEFLATED, -zlib.MAX_WBITS), 'gzip': zlib.compressobj(9, zlib.DEFLATED, zlib.MAX_WBITS | 16) } exported = compress_method[h].compress(exported) + compress_method[h].flush() connection.send_header('Content-Encoding', h) except: pass connection.send_header('Content-Length', len(exported)) connection.send_header('Connection', 'close') connection.end_headers() connection.wfile.write(exported)
Example #18
Source File: TZlibTransport.py From Aditmadzs2 with GNU General Public License v3.0 | 5 votes |
def _init_zlib(self): """Internal method for setting up the zlib compression and decompression objects. """ self._zcomp_read = zlib.decompressobj() self._zcomp_write = zlib.compressobj(self.compresslevel)
Example #19
Source File: backend_pdf.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def write(self, data): """Write some data on the stream.""" if self.compressobj is None: self.file.write(data) else: compressed = self.compressobj.compress(data) self.file.write(compressed)
Example #20
Source File: multipart.py From Galaxy_Plugin_Bethesda with MIT License | 5 votes |
def enable_compression(self, encoding: str='deflate') -> None: zlib_mode = (16 + zlib.MAX_WBITS if encoding == 'gzip' else -zlib.MAX_WBITS) self._compress = zlib.compressobj(wbits=zlib_mode)
Example #21
Source File: backend_pdf.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def __init__(self, id, len, file, extra=None, png=None): """id: object id of stream; len: an unused Reference object for the length of the stream, or None (to use a memory buffer); file: a PdfFile; extra: a dictionary of extra key-value pairs to include in the stream header; png: if the data is already png compressed, the decode parameters""" self.id = id # object id self.len = len # id of length object self.pdfFile = file self.file = file.fh # file to which the stream is written self.compressobj = None # compression object if extra is None: self.extra = dict() else: self.extra = extra.copy() if png is not None: self.extra.update({'Filter': Name('FlateDecode'), 'DecodeParms': png}) self.pdfFile.recordXref(self.id) if rcParams['pdf.compression'] and not png: self.compressobj = zlib.compressobj(rcParams['pdf.compression']) if self.len is None: self.file = BytesIO() else: self._writeHeader() self.pos = self.file.tell()
Example #22
Source File: backend_pdf.py From GraphicDesignPatternByPython with MIT License | 5 votes |
def _flush(self): """Flush the compression object.""" if self.compressobj is not None: compressed = self.compressobj.flush() self.file.write(compressed) self.compressobj = None
Example #23
Source File: test_msgutil.py From pywebsocket with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_send_message_bfinal(self): extension = common.ExtensionParameter(common.DEFLATE_FRAME_EXTENSION) request = _create_request_from_rawdata( '', deflate_frame_request=extension) self.assertEquals(1, len(request.ws_extension_processors)) deflate_frame_processor = request.ws_extension_processors[0] deflate_frame_processor.set_bfinal(True) msgutil.send_message(request, 'Hello') msgutil.send_message(request, 'World') expected = '' compress = zlib.compressobj( zlib.Z_DEFAULT_COMPRESSION, zlib.DEFLATED, -zlib.MAX_WBITS) compressed_hello = compress.compress('Hello') compressed_hello += compress.flush(zlib.Z_FINISH) compressed_hello = compressed_hello + chr(0) expected += '\xc1%c' % len(compressed_hello) expected += compressed_hello compress = zlib.compressobj( zlib.Z_DEFAULT_COMPRESSION, zlib.DEFLATED, -zlib.MAX_WBITS) compressed_world = compress.compress('World') compressed_world += compress.flush(zlib.Z_FINISH) compressed_world = compressed_world + chr(0) expected += '\xc1%c' % len(compressed_world) expected += compressed_world self.assertEqual(expected, request.connection.written_data())
Example #24
Source File: backend_pdf.py From GraphicDesignPatternByPython with MIT License | 5 votes |
def write(self, data): """Write some data on the stream.""" if self.compressobj is None: self.file.write(data) else: compressed = self.compressobj.compress(data) self.file.write(compressed)
Example #25
Source File: backend_pdf.py From GraphicDesignPatternByPython with MIT License | 5 votes |
def __init__(self, id, len, file, extra=None, png=None): """id: object id of stream; len: an unused Reference object for the length of the stream, or None (to use a memory buffer); file: a PdfFile; extra: a dictionary of extra key-value pairs to include in the stream header; png: if the data is already png compressed, the decode parameters""" self.id = id # object id self.len = len # id of length object self.pdfFile = file self.file = file.fh # file to which the stream is written self.compressobj = None # compression object if extra is None: self.extra = dict() else: self.extra = extra.copy() if png is not None: self.extra.update({'Filter': Name('FlateDecode'), 'DecodeParms': png}) self.pdfFile.recordXref(self.id) if rcParams['pdf.compression'] and not png: self.compressobj = zlib.compressobj(rcParams['pdf.compression']) if self.len is None: self.file = BytesIO() else: self._writeHeader() self.pos = self.file.tell()
Example #26
Source File: TZlibTransport.py From Protect4 with GNU General Public License v3.0 | 5 votes |
def _init_zlib(self): """Internal method for setting up the zlib compression and decompression objects. """ self._zcomp_read = zlib.decompressobj() self._zcomp_write = zlib.compressobj(self.compresslevel)
Example #27
Source File: test_msgutil.py From pywebsocket with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_send_message_comp_bit(self): compress = zlib.compressobj( zlib.Z_DEFAULT_COMPRESSION, zlib.DEFLATED, -zlib.MAX_WBITS) extension = common.ExtensionParameter(common.DEFLATE_FRAME_EXTENSION) request = _create_request_from_rawdata( '', deflate_frame_request=extension) self.assertEquals(1, len(request.ws_extension_processors)) deflate_frame_processor = request.ws_extension_processors[0] msgutil.send_message(request, 'Hello') deflate_frame_processor.disable_outgoing_compression() msgutil.send_message(request, 'Hello') deflate_frame_processor.enable_outgoing_compression() msgutil.send_message(request, 'Hello') expected = '' compressed_hello = compress.compress('Hello') compressed_hello += compress.flush(zlib.Z_SYNC_FLUSH) compressed_hello = compressed_hello[:-4] expected += '\xc1%c' % len(compressed_hello) expected += compressed_hello expected += '\x81\x05Hello' compressed_2nd_hello = compress.compress('Hello') compressed_2nd_hello += compress.flush(zlib.Z_SYNC_FLUSH) compressed_2nd_hello = compressed_2nd_hello[:-4] expected += '\xc1%c' % len(compressed_2nd_hello) expected += compressed_2nd_hello self.assertEqual(expected, request.connection.written_data())
Example #28
Source File: backend_pdf.py From neural-network-animation with MIT License | 5 votes |
def write(self, data): """Write some data on the stream.""" if self.compressobj is None: self.file.write(data) else: compressed = self.compressobj.compress(data) self.file.write(compressed)
Example #29
Source File: gzip.py From pycopia with Apache License 2.0 | 5 votes |
def _init_write(self, header): self.crc = zlib.crc32("") self.segsize = 0 if not header: header = GzipHeader() # take default values header.set_name("<unknown>") header.write(self) self.header = header self.compress = zlib.compressobj(self.compresslevel)
Example #30
Source File: backend_pdf.py From python3_ios with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _flush(self): """Flush the compression object.""" if self.compressobj is not None: compressed = self.compressobj.flush() self.file.write(compressed) self.compressobj = None