| ... | ... |
@@ -179,7 +179,7 @@ Simple s3cmd HowTo |
| 179 | 179 |
account page. Be careful when copying them! They are |
| 180 | 180 |
case sensitive and must be entered accurately or you'll |
| 181 | 181 |
keep getting errors about invalid signatures or similar. |
| 182 |
- |
|
| 182 |
+ |
|
| 183 | 183 |
Remember to add ListAllMyBuckets permissions to the keys |
| 184 | 184 |
or you will get an AccessDenied error while testing access. |
| 185 | 185 |
|
| ... | ... |
@@ -403,11 +403,11 @@ class S3(object): |
| 403 | 403 |
headers = SortedDict(ignore_case = True) |
| 404 | 404 |
if extra_headers: |
| 405 | 405 |
headers.update(extra_headers) |
| 406 |
- |
|
| 406 |
+ |
|
| 407 | 407 |
## Set server side encryption |
| 408 | 408 |
if self.config.server_side_encryption: |
| 409 | 409 |
headers["x-amz-server-side-encryption"] = "AES256" |
| 410 |
- |
|
| 410 |
+ |
|
| 411 | 411 |
## MIME-type handling |
| 412 | 412 |
content_type = self.config.mime_type |
| 413 | 413 |
content_encoding = None |
| ... | ... |
@@ -503,11 +503,11 @@ class S3(object): |
| 503 | 503 |
headers["x-amz-storage-class"] = "REDUCED_REDUNDANCY" |
| 504 | 504 |
# if extra_headers: |
| 505 | 505 |
# headers.update(extra_headers) |
| 506 |
- |
|
| 506 |
+ |
|
| 507 | 507 |
## Set server side encryption |
| 508 | 508 |
if self.config.server_side_encryption: |
| 509 |
- headers["x-amz-server-side-encryption"] = "AES256" |
|
| 510 |
- |
|
| 509 |
+ headers["x-amz-server-side-encryption"] = "AES256" |
|
| 510 |
+ |
|
| 511 | 511 |
request = self.create_request("OBJECT_PUT", uri = dst_uri, headers = headers)
|
| 512 | 512 |
response = self.send_request(request) |
| 513 | 513 |
return response |
| ... | ... |
@@ -629,7 +629,7 @@ def cmd_info(args): |
| 629 | 629 |
if 'x-amz-server-side-encryption' in info['headers']: |
| 630 | 630 |
output(u" SSE: %s" % info['headers']['x-amz-server-side-encryption']) |
| 631 | 631 |
else: |
| 632 |
- output(u" SSE: NONE") |
|
| 632 |
+ output(u" SSE: NONE") |
|
| 633 | 633 |
|
| 634 | 634 |
else: |
| 635 | 635 |
info = s3.bucket_info(uri) |
| ... | ... |
@@ -761,7 +761,7 @@ def cmd_sync_remote2remote(args): |
| 761 | 761 |
|
| 762 | 762 |
#process files not copied |
| 763 | 763 |
output("Process files that was not remote copied")
|
| 764 |
- failed_copy_count = len (failed_copy_files) |
|
| 764 |
+ failed_copy_count = len (failed_copy_files) |
|
| 765 | 765 |
for key in failed_copy_files: |
| 766 | 766 |
failed_copy_files[key]['target_uri'] = destination_base + key |
| 767 | 767 |
seq = _upload(failed_copy_files, seq, failed_copy_count) |
| ... | ... |
@@ -909,7 +909,7 @@ def cmd_sync_remote2local(args): |
| 909 | 909 |
if attrs.has_key('uid') and attrs.has_key('gid'):
|
| 910 | 910 |
uid = int(attrs['uid']) |
| 911 | 911 |
gid = int(attrs['gid']) |
| 912 |
- os.lchown(dst_file,uid,gid) |
|
| 912 |
+ os.lchown(dst_file,uid,gid) |
|
| 913 | 913 |
except OSError, e: |
| 914 | 914 |
try: |
| 915 | 915 |
dst_stream.close() |
| ... | ... |
@@ -1021,7 +1021,7 @@ def remote_copy(s3, copy_pairs, destination_base): |
| 1021 | 1021 |
output(u"remote copy: %s -> %s" % (dst1, dst2)) |
| 1022 | 1022 |
except: |
| 1023 | 1023 |
warning(u'Unable to remote copy files %s -> %s' % (dst1_uri, dst2_uri)) |
| 1024 |
- failed_copy_list[dst2] = src_obj |
|
| 1024 |
+ failed_copy_list[dst2] = src_obj |
|
| 1025 | 1025 |
return (len(copy_pairs), saved_bytes, failed_copy_list) |
| 1026 | 1026 |
|
| 1027 | 1027 |
def _build_attr_header(local_list, src): |