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))
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
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()
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)))
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))