(self, s3, src, dst_uri, headers_baseline=None,
src_size=None)
| 24 | MAX_FILE_SIZE = 5 * 1024 * 1024 # 5TB |
| 25 | |
| 26 | def __init__(self, s3, src, dst_uri, headers_baseline=None, |
| 27 | src_size=None): |
| 28 | self.s3 = s3 |
| 29 | self.file_stream = None |
| 30 | self.src_uri = None |
| 31 | self.src_size = src_size |
| 32 | self.dst_uri = dst_uri |
| 33 | self.parts = {} |
| 34 | self.headers_baseline = headers_baseline or {} |
| 35 | |
| 36 | if isinstance(src, S3UriS3): |
| 37 | # Source is the uri of an object to s3-to-s3 copy with multipart. |
| 38 | self.src_uri = src |
| 39 | if not src_size: |
| 40 | raise ParameterError("Source size is missing for " |
| 41 | "MultipartUploadCopy operation") |
| 42 | c_size = self.s3.config.multipart_copy_chunk_size_mb * SIZE_1MB |
| 43 | else: |
| 44 | # Source is a file_stream to upload |
| 45 | self.file_stream = src |
| 46 | c_size = self.s3.config.multipart_chunk_size_mb * SIZE_1MB |
| 47 | |
| 48 | self.chunk_size = c_size |
| 49 | self.upload_id = self.initiate_multipart_upload() |
| 50 | |
| 51 | def get_parts_information(self, uri, upload_id): |
| 52 | part_list = self.s3.list_multipart(uri, upload_id) |
nothing calls this directly
no test coverage detected