コード例 #1
0
 def test_compress_aok(self):
     header = zlib_header = zlib.compress(b'1' * 100)[2:]
     body = b'0' * 100
     rec = struct.pack('<I', len(header) + 4) + header + body
     compressed_rec = compress(io.BytesIO(rec), version=Version.AOK)
     self.assertEqual(
         rec, decompress(io.BytesIO(compressed_rec), version=Version.AOK))
コード例 #2
0
def get_rec(file_hash, file_name, version):
    """Download route."""
    s3_client = boto3.client('s3')
    input_file = io.BytesIO()
    parts = path_components(file_hash) + [file_hash + '.mgc']
    s3_client.download_fileobj(S3_BUCKET, os.path.join(*parts), input_file)
    input_file.seek(0)
    mgz_bytes = decompress(input_file, version=version)
    return mgz_bytes
コード例 #3
0
ファイル: download.py プロジェクト: Jester-5115/aocrecs.com
def get_zip(file_hash, file_name, version):
    """Download route."""
    s3_client = boto3.client('s3')
    input_file = io.BytesIO()
    parts = path_components(file_hash) + [file_hash + '.mgc']
    s3_client.download_fileobj(S3_BUCKET, os.path.join(*parts), input_file)

    input_file.seek(0)
    mgz_bytes = decompress(input_file, version=version)

    output_file = io.BytesIO()
    with ZipFile(output_file, 'w', ZIP_DEFLATED) as zip_file:
        zip_file.writestr(file_name, mgz_bytes)
    return output_file.getvalue()
コード例 #4
0
 def test_compress_rev_2(self):
     header = zlib_header = zlib.compress(b'1' * 100)[2:]
     body = b'0' * 100
     rec = struct.pack('<II', len(header) + 8, 0) + header + body
     compressed_rec = compress(io.BytesIO(rec))
     self.assertEqual(rec, decompress(io.BytesIO(compressed_rec)))
コード例 #5
0
 def get(self, file_id):
     """Get a file from the store."""
     mgz_file = self.session.query(File).get(file_id)
     return mgz_file.original_filename, decompress(
         get_file(self.store_path, mgz_file.filename))