By the way fixes a crash with:
s3cmd put /xyz/big-file s3://bucket/ > /dev/null
Reported by HanJingYu
... | ... |
@@ -752,11 +752,14 @@ class S3(object): |
752 | 752 |
|
753 | 753 |
def send_file_multipart(self, file, headers, uri, size): |
754 | 754 |
chunk_size = self.config.multipart_chunk_size_mb * 1024 * 1024 |
755 |
+ timestamp_start = time.time() |
|
755 | 756 |
upload = MultiPartUpload(self, file, uri, headers) |
756 | 757 |
upload.upload_all_parts() |
757 | 758 |
response = upload.complete_multipart_upload() |
758 |
- response["speed"] = 0 # XXX |
|
759 |
+ timestamp_end = time.time() |
|
760 |
+ response["elapsed"] = timestamp_end - timestamp_start |
|
759 | 761 |
response["size"] = size |
762 |
+ response["speed"] = response["elapsed"] and float(response["size"]) / response["elapsed"] or float(-1) |
|
760 | 763 |
return response |
761 | 764 |
|
762 | 765 |
def recv_file(self, request, stream, labels, start_position = 0, retries = _max_retries): |