Python snappy.uncompress() Examples
The following are 7
code examples of snappy.uncompress().
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
snappy
, or try the search function
.
Example #1
Source File: compression_support.py From learn_python3_spider with MIT License | 6 votes |
def decompress(data, compressor_id): if compressor_id == SnappyContext.compressor_id: # python-snappy doesn't support the buffer interface. # https://github.com/andrix/python-snappy/issues/65 # This only matters when data is a memoryview since # id(bytes(data)) == id(data) when data is a bytes. # NOTE: bytes(memoryview) returns the memoryview repr # in Python 2.7. The right thing to do in 2.7 is call # memoryview.tobytes(), but we currently only use # memoryview in Python 3.x. return snappy.uncompress(bytes(data)) elif compressor_id == ZlibContext.compressor_id: return zlib.decompress(data) elif compressor_id == ZstdContext.compressor_id: # ZstdDecompressor is not thread safe. # TODO: Use a pool? return ZstdDecompressor().decompress(data) else: raise ValueError("Unknown compressorId %d" % (compressor_id,))
Example #2
Source File: api.py From gnocchi with Apache License 2.0 | 5 votes |
def post(self): buf = snappy.uncompress(pecan.request.body) f = remote_pb2.WriteRequest() f.ParseFromString(buf) measures_by_rid = collections.defaultdict(dict) for ts in f.timeseries: attrs = dict((l.name, l.value) for l in ts.labels) original_rid = (attrs.get("job", "none"), attrs.get("instance", "none")) name = attrs['__name__'] if ts.samples: data = [{'timestamp': s.timestamp_ms / 1000.0, 'value': s.value} for s in ts.samples] measures_by_rid[original_rid][name] = validate( MeasuresListSchema, data) creator = pecan.request.auth_helper.get_current_user(pecan.request) measures_to_batch = {} for (job, instance), measures in measures_by_rid.items(): original_rid = '%s@%s' % (job, instance) rid = ResourceUUID(original_rid, creator=creator) metric_names = list(measures.keys()) timeout = pecan.request.conf.api.operation_timeout metrics = get_or_create_resource_and_metrics.retry_with( stop=tenacity.stop_after_delay(timeout))( creator, rid, original_rid, metric_names, dict(job=job, instance=instance), "prometheus", self.PROMETHEUS_RESOURCE_TYPE) for metric in metrics: enforce("post measures", metric) measures_to_batch.update( dict((metric.id, measures[metric.name]) for metric in metrics if metric.name in measures)) pecan.request.incoming.add_measures_batch(measures_to_batch) pecan.response.status = 202
Example #3
Source File: compression_support.py From vnpy_crypto with MIT License | 5 votes |
def decompress(data, compressor_id): if compressor_id == SnappyContext.compressor_id: # python-snappy doesn't support the buffer interface. # https://github.com/andrix/python-snappy/issues/65 # This only matters when data is a memoryview since # id(bytes(data)) == id(data) when data is a bytes. # NOTE: bytes(memoryview) returns the memoryview repr # in Python 2.7. The right thing to do in 2.7 is call # memoryview.tobytes(), but we currently only use # memoryview in Python 3.x. return snappy.uncompress(bytes(data)) elif compressor_id == ZlibContext.compressor_id: return zlib.decompress(data) else: raise ValueError("Unknown compressorId %d" % (compressor_id,))
Example #4
Source File: jrpc_py.py From TradeSim with Apache License 2.0 | 5 votes |
def _unpack_msgpack_snappy(str): if str.startswith(b'S'): tmp = snappy.uncompress(str[1:]) # print "SNAPPY: ", len(str), len(tmp) obj = msgpack.loads(tmp, encoding='utf-8') elif str.startswith(b'\0'): obj = msgpack.loads(str[1:], encoding='utf-8') else: return None return obj
Example #5
Source File: snappy.py From kiel with Apache License 2.0 | 5 votes |
def decompress(data): """ Decompresses the given data via the snappy algorithm. If ``python-snappy`` is not installed a ``RuntimeError`` is raised. """ if not snappy_available: raise RuntimeError("Snappy compression unavailable.") buff_offset = len(raw_header) # skip the header length = len(data) - len(raw_header) output = BytesIO() while buff_offset <= length: block_size = struct.unpack_from("!i", data, buff_offset)[0] buff_offset += struct.calcsize("!i") block = struct.unpack_from("!%ds" % block_size, data, buff_offset)[0] buff_offset += block_size output.write(snappy.uncompress(block)) result = output.getvalue() output.close() return result
Example #6
Source File: jrpc_py.py From TradeApi with Apache License 2.0 | 5 votes |
def _unpack_msgpack_snappy(str): if str.startswith(b'S'): tmp = snappy.uncompress(str[1:]) # print "SNAPPY: ", len(str), len(tmp) obj = msgpack.loads(tmp, encoding='utf-8') elif str.startswith(b'\0'): obj = msgpack.loads(str[1:], encoding='utf-8') else: return None return obj
Example #7
Source File: jrpc_py.py From DataApi with Apache License 2.0 | 5 votes |
def _unpack_msgpack_snappy(str): if str.startswith(b'S'): tmp = snappy.uncompress(str[1:]) # print "SNAPPY: ", len(str), len(tmp) obj = msgpack.loads(tmp, encoding='utf-8') elif str.startswith(b'\0'): obj = msgpack.loads(str[1:], encoding='utf-8') else: return None return obj