def compress(passwords): buf = BytesIO() gzip_data = gzip.GzipFile(fileobj=buf, mode='wb') data = json.dumps(passwords) gzip_data.write(data.encode('utf-8')) gzip_data.close() return buf.getvalue()
def compress(passwords): buf = BytesIO() gzip_data = gzip.GzipFile(fileobj=buf, mode='wb') renderer = json_renderer(None) data = renderer(passwords, {}) gzip_data.write(data.encode('utf-8')) gzip_data.close() return buf.getvalue()
def uncompress(compressed_data): buf = BytesIO(compressed_data) gzip_data = gzip.GzipFile(fileobj=buf, mode='rb') raw_data = gzip_data.read() json_data = json.loads(raw_data.decode('utf-8')) def parse_date(item, dt_attr): if dt_attr in item: value = item[dt_attr] if isinstance(value, numbers.Integral): datetime_value = datetime.datetime.utcfromtimestamp(value / 1000.0) else: datetime_value = datetime_parser(item[dt_attr]) item[dt_attr] = datetime_value def load_item(item): if 'last_modification' in item: last_modification = item.pop('last_modification') if last_modification is None: item['modification'] = item['creation'] else: item['modification'] = last_modification parse_date(item, 'creation') parse_date(item, 'modification') return item return [load_item(item) for item in json_data]
def get_gzip_data(text): buf = BytesIO() gzip_data = gzip.GzipFile(fileobj=buf, mode='wb') gzip_data.write(text.encode('utf-8')) gzip_data.close() return buf.getvalue()
def getUncompressData(self, body): buf = BytesIO(body) gzip_file = gzip.GzipFile(fileobj=buf, mode='rb') return gzip_file.read().decode('utf-8')