summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-07-04 09:41:04 +0000
committerGerrit Code Review <review@openstack.org>2012-07-04 09:41:04 +0000
commitc2a3fc56fc32b55f06798012fa5e74891acb533a (patch)
treee6a7720237e33b16a4a688300a3fd1777f6e91fe
parenta325aad8a491a497272a7b165cbaa7577ce27654 (diff)
parent36daad953aea9965cbed97b59d9d2884062157d4 (diff)
downloadpython-swiftclient-c2a3fc56fc32b55f06798012fa5e74891acb533a.tar.gz
Merge "Now url encodes/decodes x-object-manifest values"
-rwxr-xr-xbin/swift9
1 files changed, 7 insertions, 2 deletions
diff --git a/bin/swift b/bin/swift
index acc0855..b958f32 100755
--- a/bin/swift
+++ b/bin/swift
@@ -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,