diff options
author | Jenkins <jenkins@review.openstack.org> | 2012-07-04 09:41:04 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2012-07-04 09:41:04 +0000 |
commit | c2a3fc56fc32b55f06798012fa5e74891acb533a (patch) | |
tree | e6a7720237e33b16a4a688300a3fd1777f6e91fe | |
parent | a325aad8a491a497272a7b165cbaa7577ce27654 (diff) | |
parent | 36daad953aea9965cbed97b59d9d2884062157d4 (diff) | |
download | python-swiftclient-c2a3fc56fc32b55f06798012fa5e74891acb533a.tar.gz |
Merge "Now url encodes/decodes x-object-manifest values"
-rwxr-xr-x | bin/swift | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -26,6 +26,7 @@ from sys import argv, exc_info, exit, stderr, stdout from threading import current_thread, enumerate as threading_enumerate, Thread from time import sleep from traceback import format_exception +from urllib import quote, unquote from swiftclient import Connection, ClientException, HTTPException @@ -176,6 +177,8 @@ def st_delete(parser, args, print_queue, error_queue): if old_manifest: segment_queue = Queue(10000) scontainer, sprefix = old_manifest.split('/', 1) + scontainer = unquote(scontainer) + sprefix = unquote(sprefix) for delobj in conn.get_container(scontainer, prefix=sprefix)[1]: segment_queue.put((scontainer, delobj['name'])) @@ -856,8 +859,8 @@ def st_upload(parser, args, print_queue, error_queue): 'because not all segments could be uploaded. %s/%s' % (container, obj)) new_object_manifest = '%s_segments/%s/%s/%s/' % ( - container, obj, put_headers['x-object-meta-mtime'], - full_size) + quote(container), quote(obj), + put_headers['x-object-meta-mtime'], full_size) if old_manifest == new_object_manifest: old_manifest = None put_headers['x-object-manifest'] = new_object_manifest @@ -869,6 +872,8 @@ def st_upload(parser, args, print_queue, error_queue): if old_manifest: segment_queue = Queue(10000) scontainer, sprefix = old_manifest.split('/', 1) + scontainer = unquote(scontainer) + sprefix = unquote(sprefix) for delobj in conn.get_container(scontainer, prefix=sprefix)[1]: segment_queue.put({'delete': True, |