Revision 29148653 snf-pithos-app/pithos/api/functions.py
b/snf-pithos-app/pithos/api/functions.py | ||
---|---|---|
691 | 691 |
|
692 | 692 |
try: |
693 | 693 |
objects = request.backend.list_object_meta( |
694 |
request.user_uniq, v_account, |
|
695 |
v_container, prefix, delimiter, marker,
|
|
696 |
limit, virtual, 'pithos', keys, shared, until, None, public_granted)
|
|
694 |
request.user_uniq, v_account, v_container, prefix, delimiter,
|
|
695 |
marker, limit, virtual, 'pithos', keys, shared, until, None,
|
|
696 |
public_granted) |
|
697 | 697 |
object_permissions = {} |
698 | 698 |
object_public = {} |
699 | 699 |
if until is None: |
... | ... | |
920 | 920 |
try: |
921 | 921 |
for x in objects: |
922 | 922 |
s, h = \ |
923 |
request.backend.get_object_hashmap(request.user_uniq,
|
|
924 |
v_account, src_container,
|
|
925 |
x[0], x[1])
|
|
923 |
request.backend.get_object_hashmap( |
|
924 |
request.user_uniq, v_account, src_container, x[0],
|
|
925 |
x[1]) |
|
926 | 926 |
sizes.append(s) |
927 | 927 |
hashmaps.append(h) |
928 | 928 |
except NotAllowedError: |
... | ... | |
1009 | 1009 |
else: |
1010 | 1010 |
if TRANSLATE_UUIDS: |
1011 | 1011 |
try: |
1012 |
src_account = retrieve_uuid(getattr(request, 'token', None),
|
|
1013 |
src_account)
|
|
1012 |
src_account = retrieve_uuid( |
|
1013 |
getattr(request, 'token', None), src_account)
|
|
1014 | 1014 |
except ItemNotExists: |
1015 | 1015 |
faults.ItemNotFound('Invalid source account') |
1016 | 1016 |
|
... | ... | |
1139 | 1139 |
return response |
1140 | 1140 |
|
1141 | 1141 |
|
1142 |
@api_method('POST', user_required=True, logger=logger, lock_container_path=True) |
|
1142 |
@api_method('POST', user_required=True, logger=logger, |
|
1143 |
lock_container_path=True) |
|
1143 | 1144 |
def object_write_form(request, v_account, v_container, v_object): |
1144 | 1145 |
# Normal Response Codes: 201 |
1145 | 1146 |
# Error Response Codes: internalServerError (500), |
... | ... | |
1301 | 1302 |
# Do permissions first, as it may fail easier. |
1302 | 1303 |
if permissions is not None: |
1303 | 1304 |
try: |
1304 |
request.backend.update_object_permissions(request.user_uniq, |
|
1305 |
v_account, |
|
1306 |
v_container, v_object, |
|
1307 |
permissions) |
|
1305 |
request.backend.update_object_permissions( |
|
1306 |
request.user_uniq, v_account, v_container, v_object, |
|
1307 |
permissions) |
|
1308 | 1308 |
except NotAllowedError: |
1309 | 1309 |
raise faults.Forbidden('Not allowed') |
1310 | 1310 |
except ItemNotExists: |
... | ... | |
1345 | 1345 |
|
1346 | 1346 |
try: |
1347 | 1347 |
size, hashmap = \ |
1348 |
request.backend.get_object_hashmap(request.user_uniq,
|
|
1349 |
v_account, v_container, v_object)
|
|
1348 |
request.backend.get_object_hashmap( |
|
1349 |
request.user_uniq, v_account, v_container, v_object)
|
|
1350 | 1350 |
except NotAllowedError: |
1351 | 1351 |
raise faults.Forbidden('Not allowed') |
1352 | 1352 |
except ItemNotExists: |
... | ... | |
1417 | 1417 |
hashmap[bi] = src_hashmap[sbi] |
1418 | 1418 |
else: |
1419 | 1419 |
data = request.backend.get_block(src_hashmap[sbi]) |
1420 |
hashmap[bi] = request.backend.update_block(hashmap[bi],
|
|
1421 |
data[:bl], 0)
|
|
1420 |
hashmap[bi] = request.backend.update_block( |
|
1421 |
hashmap[bi], data[:bl], 0)
|
|
1422 | 1422 |
else: |
1423 | 1423 |
hashmap.append(src_hashmap[sbi]) |
1424 | 1424 |
offset += bl |
Also available in: Unified diff