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()
Exemple #2
0
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()
Exemple #3
0
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()
Exemple #4
0
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()
Exemple #6
0
 def getUncompressData(self, body):
     buf = BytesIO(body)
     gzip_file = gzip.GzipFile(fileobj=buf, mode='rb')
     return gzip_file.read().decode('utf-8')
Exemple #7
0
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()