Revision 2c22e4ac pithos/api/functions.py
b/pithos/api/functions.py | ||
---|---|---|
125 | 125 |
# unauthorized (401), |
126 | 126 |
# badRequest (400) |
127 | 127 |
|
128 |
meta = backend.get_account_meta(request.user)
|
|
128 |
meta = backend.get_account_meta(v_account)
|
|
129 | 129 |
|
130 | 130 |
response = HttpResponse(status=204) |
131 | 131 |
put_account_meta(response, meta) |
... | ... | |
139 | 139 |
# badRequest (400) |
140 | 140 |
|
141 | 141 |
meta = get_account_meta(request) |
142 |
backend.update_account_meta(request.user, meta, replace=True)
|
|
142 |
backend.update_account_meta(v_account, meta, replace=True)
|
|
143 | 143 |
return HttpResponse(status=202) |
144 | 144 |
|
145 | 145 |
@api_method('GET', format_allowed=True) |
... | ... | |
150 | 150 |
# unauthorized (401), |
151 | 151 |
# badRequest (400) |
152 | 152 |
|
153 |
meta = backend.get_account_meta(request.user)
|
|
153 |
meta = backend.get_account_meta(v_account)
|
|
154 | 154 |
|
155 | 155 |
validate_modification_preconditions(request, meta) |
156 | 156 |
|
... | ... | |
168 | 168 |
limit = 10000 |
169 | 169 |
|
170 | 170 |
try: |
171 |
containers = [x[0] for x in backend.list_containers(request.user, marker, limit)]
|
|
171 |
containers = [x[0] for x in backend.list_containers(v_account, marker, limit)]
|
|
172 | 172 |
except NameError: |
173 | 173 |
containers = [] |
174 | 174 |
|
... | ... | |
184 | 184 |
container_meta = [] |
185 | 185 |
for x in containers: |
186 | 186 |
try: |
187 |
meta = backend.get_container_meta(request.user, x)
|
|
187 |
meta = backend.get_container_meta(v_account, x)
|
|
188 | 188 |
except NameError: |
189 | 189 |
continue |
190 | 190 |
container_meta.append(printable_meta_dict(meta)) |
191 | 191 |
if request.serialization == 'xml': |
192 |
data = render_to_string('containers.xml', {'account': request.user, 'containers': container_meta})
|
|
192 |
data = render_to_string('containers.xml', {'account': v_account, 'containers': container_meta})
|
|
193 | 193 |
elif request.serialization == 'json': |
194 | 194 |
data = json.dumps(container_meta) |
195 | 195 |
response.status_code = 200 |
... | ... | |
205 | 205 |
# badRequest (400) |
206 | 206 |
|
207 | 207 |
try: |
208 |
meta = backend.get_container_meta(request.user, v_container)
|
|
209 |
meta['object_meta'] = backend.list_object_meta(request.user, v_container)
|
|
208 |
meta = backend.get_container_meta(v_account, v_container)
|
|
209 |
meta['object_meta'] = backend.list_object_meta(v_account, v_container)
|
|
210 | 210 |
except NameError: |
211 | 211 |
raise ItemNotFound('Container does not exist') |
212 | 212 |
|
... | ... | |
225 | 225 |
meta = get_container_meta(request) |
226 | 226 |
|
227 | 227 |
try: |
228 |
backend.put_container(request.user, v_container)
|
|
228 |
backend.put_container(v_account, v_container)
|
|
229 | 229 |
ret = 201 |
230 | 230 |
except NameError: |
231 | 231 |
ret = 202 |
232 | 232 |
|
233 | 233 |
if len(meta) > 0: |
234 |
backend.update_container_meta(request.user, v_container, meta, replace=True)
|
|
234 |
backend.update_container_meta(v_account, v_container, meta, replace=True)
|
|
235 | 235 |
|
236 | 236 |
return HttpResponse(status=ret) |
237 | 237 |
|
... | ... | |
245 | 245 |
|
246 | 246 |
meta = get_container_meta(request) |
247 | 247 |
try: |
248 |
backend.update_container_meta(request.user, v_container, meta, replace=True)
|
|
248 |
backend.update_container_meta(v_account, v_container, meta, replace=True)
|
|
249 | 249 |
except NameError: |
250 | 250 |
raise ItemNotFound('Container does not exist') |
251 | 251 |
return HttpResponse(status=202) |
... | ... | |
260 | 260 |
# badRequest (400) |
261 | 261 |
|
262 | 262 |
try: |
263 |
backend.delete_container(request.user, v_container)
|
|
263 |
backend.delete_container(v_account, v_container)
|
|
264 | 264 |
except NameError: |
265 | 265 |
raise ItemNotFound('Container does not exist') |
266 | 266 |
except IndexError: |
... | ... | |
276 | 276 |
# badRequest (400) |
277 | 277 |
|
278 | 278 |
try: |
279 |
meta = backend.get_container_meta(request.user, v_container)
|
|
280 |
meta['object_meta'] = backend.list_object_meta(request.user, v_container)
|
|
279 |
meta = backend.get_container_meta(v_account, v_container)
|
|
280 |
meta['object_meta'] = backend.list_object_meta(v_account, v_container)
|
|
281 | 281 |
except NameError: |
282 | 282 |
raise ItemNotFound('Container does not exist') |
283 | 283 |
|
... | ... | |
322 | 322 |
keys = [] |
323 | 323 |
|
324 | 324 |
try: |
325 |
objects = [x[0] for x in backend.list_objects(request.user, v_container, prefix, delimiter, marker, limit, virtual, keys)]
|
|
325 |
objects = [x[0] for x in backend.list_objects(v_account, v_container, prefix, delimiter, marker, limit, virtual, keys)]
|
|
326 | 326 |
except NameError: |
327 | 327 |
raise ItemNotFound('Container does not exist') |
328 | 328 |
|
... | ... | |
338 | 338 |
object_meta = [] |
339 | 339 |
for x in objects: |
340 | 340 |
try: |
341 |
meta = backend.get_object_meta(request.user, v_container, x)
|
|
341 |
meta = backend.get_object_meta(v_account, v_container, x)
|
|
342 | 342 |
except NameError: |
343 | 343 |
# Virtual objects/directories. |
344 | 344 |
if virtual and delimiter and x.endswith(delimiter): |
... | ... | |
363 | 363 |
|
364 | 364 |
version = get_version(request) |
365 | 365 |
try: |
366 |
meta = backend.get_object_meta(request.user, v_container, v_object, version)
|
|
366 |
meta = backend.get_object_meta(v_account, v_container, v_object, version)
|
|
367 | 367 |
except NameError: |
368 | 368 |
raise ItemNotFound('Object does not exist') |
369 | 369 |
except IndexError: |
... | ... | |
386 | 386 |
|
387 | 387 |
version = get_version(request) |
388 | 388 |
try: |
389 |
meta = backend.get_object_meta(request.user, v_container, v_object, version)
|
|
389 |
meta = backend.get_object_meta(v_account, v_container, v_object, version)
|
|
390 | 390 |
except NameError: |
391 | 391 |
raise ItemNotFound('Object does not exist') |
392 | 392 |
except IndexError: |
... | ... | |
402 | 402 |
return response |
403 | 403 |
|
404 | 404 |
try: |
405 |
size, hashmap = backend.get_object_hashmap(request.user, v_container, v_object, version)
|
|
405 |
size, hashmap = backend.get_object_hashmap(v_account, v_container, v_object, version)
|
|
406 | 406 |
except NameError: |
407 | 407 |
raise ItemNotFound('Object does not exist') |
408 | 408 |
except IndexError: |
... | ... | |
440 | 440 |
boundary = uuid.uuid4().hex |
441 | 441 |
else: |
442 | 442 |
boundary = '' |
443 |
wrapper = ObjectWrapper(request.user, v_container, v_object, ranges, size, hashmap, boundary)
|
|
443 |
wrapper = ObjectWrapper(v_account, v_container, v_object, ranges, size, hashmap, boundary)
|
|
444 | 444 |
response = HttpResponse(wrapper, status=ret) |
445 | 445 |
put_object_meta(response, meta) |
446 | 446 |
if ret == 206: |
... | ... | |
470 | 470 |
content_length = get_content_length(request) |
471 | 471 |
|
472 | 472 |
if move_from: |
473 |
copy_or_move_object(request, move_from, (v_container, v_object), move=True) |
|
473 |
copy_or_move_object(request, v_account, move_from, (v_container, v_object), move=True)
|
|
474 | 474 |
else: |
475 |
copy_or_move_object(request, copy_from, (v_container, v_object), move=False) |
|
475 |
copy_or_move_object(request, v_account, copy_from, (v_container, v_object), move=False)
|
|
476 | 476 |
return HttpResponse(status=201) |
477 | 477 |
|
478 | 478 |
meta = get_object_meta(request) |
... | ... | |
501 | 501 |
|
502 | 502 |
try: |
503 | 503 |
# TODO: Update metadata with the hashmap. |
504 |
backend.update_object_hashmap(request.user, v_container, v_object, size, hashmap)
|
|
504 |
backend.update_object_hashmap(v_account, v_container, v_object, size, hashmap)
|
|
505 | 505 |
except NameError: |
506 | 506 |
raise ItemNotFound('Container does not exist') |
507 | 507 |
try: |
508 |
backend.update_object_meta(request.user, v_container, v_object, meta, replace=True)
|
|
508 |
backend.update_object_meta(v_account, v_container, v_object, meta, replace=True)
|
|
509 | 509 |
except NameError: |
510 | 510 |
raise ItemNotFound('Object does not exist') |
511 | 511 |
|
... | ... | |
524 | 524 |
dest_path = request.META.get('HTTP_DESTINATION') |
525 | 525 |
if not dest_path: |
526 | 526 |
raise BadRequest('Missing Destination header') |
527 |
copy_or_move_object(request, (v_container, v_object), dest_path, move=False) |
|
527 |
copy_or_move_object(request, v_account, (v_container, v_object), dest_path, move=False)
|
|
528 | 528 |
return HttpResponse(status=201) |
529 | 529 |
|
530 | 530 |
@api_method('MOVE') |
... | ... | |
538 | 538 |
dest_path = request.META.get('HTTP_DESTINATION') |
539 | 539 |
if not dest_path: |
540 | 540 |
raise BadRequest('Missing Destination header') |
541 |
copy_or_move_object(request, (v_container, v_object), dest_path, move=True) |
|
541 |
copy_or_move_object(request, v_account, (v_container, v_object), dest_path, move=True)
|
|
542 | 542 |
return HttpResponse(status=201) |
543 | 543 |
|
544 | 544 |
@api_method('POST') |
... | ... | |
555 | 555 |
del(meta['Content-Type']) # Do not allow changing the Content-Type. |
556 | 556 |
|
557 | 557 |
try: |
558 |
prev_meta = backend.get_object_meta(request.user, v_container, v_object)
|
|
558 |
prev_meta = backend.get_object_meta(v_account, v_container, v_object)
|
|
559 | 559 |
except NameError: |
560 | 560 |
raise ItemNotFound('Object does not exist') |
561 | 561 |
|
... | ... | |
566 | 566 |
if k in prev_meta: |
567 | 567 |
meta[k] = prev_meta[k] |
568 | 568 |
try: |
569 |
backend.update_object_meta(request.user, v_container, v_object, meta, replace=True)
|
|
569 |
backend.update_object_meta(v_account, v_container, v_object, meta, replace=True)
|
|
570 | 570 |
except NameError: |
571 | 571 |
raise ItemNotFound('Object does not exist') |
572 | 572 |
|
... | ... | |
591 | 591 |
content_length = get_content_length(request) |
592 | 592 |
|
593 | 593 |
try: |
594 |
size, hashmap = backend.get_object_hashmap(request.user, v_container, v_object)
|
|
594 |
size, hashmap = backend.get_object_hashmap(v_account, v_container, v_object)
|
|
595 | 595 |
except NameError: |
596 | 596 |
raise ItemNotFound('Object does not exist') |
597 | 597 |
|
... | ... | |
634 | 634 |
size = offset |
635 | 635 |
try: |
636 | 636 |
# TODO: Update metadata with the hashmap. |
637 |
backend.update_object_hashmap(request.user, v_container, v_object, size, hashmap)
|
|
637 |
backend.update_object_hashmap(v_account, v_container, v_object, size, hashmap)
|
|
638 | 638 |
except NameError: |
639 | 639 |
raise ItemNotFound('Container does not exist') |
640 | 640 |
|
... | ... | |
642 | 642 |
meta = {} |
643 | 643 |
meta['hash'] = hashmap_hash(hashmap) |
644 | 644 |
try: |
645 |
backend.update_object_meta(request.user, v_container, v_object, meta)
|
|
645 |
backend.update_object_meta(v_account, v_container, v_object, meta)
|
|
646 | 646 |
except NameError: |
647 | 647 |
raise ItemNotFound('Object does not exist') |
648 | 648 |
|
... | ... | |
659 | 659 |
# badRequest (400) |
660 | 660 |
|
661 | 661 |
try: |
662 |
backend.delete_object(request.user, v_container, v_object)
|
|
662 |
backend.delete_object(v_account, v_container, v_object)
|
|
663 | 663 |
except NameError: |
664 | 664 |
raise ItemNotFound('Object does not exist') |
665 | 665 |
return HttpResponse(status=204) |
Also available in: Unified diff