Revision 79bb41b7 pithos/api/util.py
b/pithos/api/util.py | ||
---|---|---|
281 | 281 |
raise ValueError |
282 | 282 |
return s[:pos], s[(pos + 1):] |
283 | 283 |
|
284 |
def copy_or_move_object(request, v_account, src_container, src_name, dest_container, dest_name, move=False):
|
|
284 |
def copy_or_move_object(request, src_account, src_container, src_name, dest_account, dest_container, dest_name, move=False):
|
|
285 | 285 |
"""Copy or move an object.""" |
286 | 286 |
|
287 | 287 |
meta, permissions, public = get_object_headers(request) |
288 |
src_version = request.META.get('HTTP_X_SOURCE_VERSION') |
|
288 |
print '---', meta, permissions, public |
|
289 |
src_version = request.META.get('HTTP_X_SOURCE_VERSION') |
|
289 | 290 |
try: |
290 | 291 |
if move: |
291 |
version_id = request.backend.move_object(request.user, v_account,
|
|
292 |
src_container, src_name, dest_container, dest_name,
|
|
293 |
meta, False, permissions) |
|
292 |
version_id = request.backend.move_object(request.user, src_account, src_container, src_name,
|
|
293 |
dest_account, dest_container, dest_name,
|
|
294 |
meta, False, permissions)
|
|
294 | 295 |
else: |
295 |
version_id = request.backend.copy_object(request.user, v_account,
|
|
296 |
src_container, src_name, dest_container, dest_name,
|
|
297 |
meta, False, permissions, src_version) |
|
296 |
version_id = request.backend.copy_object(request.user, src_account, src_container, src_name,
|
|
297 |
dest_account, dest_container, dest_name,
|
|
298 |
meta, False, permissions, src_version)
|
|
298 | 299 |
except NotAllowedError: |
299 | 300 |
raise Unauthorized('Access denied') |
300 | 301 |
except (NameError, IndexError): |
... | ... | |
305 | 306 |
raise Conflict(json.dumps(e.data)) |
306 | 307 |
if public is not None: |
307 | 308 |
try: |
308 |
request.backend.update_object_public(request.user, v_account, |
|
309 |
dest_container, dest_name, public) |
|
309 |
request.backend.update_object_public(request.user, dest_account, dest_container, dest_name, public) |
|
310 | 310 |
except NotAllowedError: |
311 | 311 |
raise Unauthorized('Access denied') |
312 | 312 |
except NameError: |
Also available in: Unified diff