Revision c53c4def
b/snf-pithos-backend/pithos/backends/modular.py | ||
---|---|---|
316 | 316 |
def list_containers(self, user, account, marker=None, limit=10000, shared=False, until=None, public=False): |
317 | 317 |
"""Return a list of containers existing under an account.""" |
318 | 318 |
|
319 |
logger.debug("list_containers: %s %s %s %s %s", account, marker, limit, shared, until)
|
|
319 |
logger.debug("list_containers: %s %s %s %s %s %s", account, marker, limit, shared, until, public)
|
|
320 | 320 |
if user != account: |
321 | 321 |
if until or account not in self._allowed_accounts(user): |
322 | 322 |
raise NotAllowedError |
... | ... | |
483 | 483 |
if not allowed: |
484 | 484 |
raise NotAllowedError |
485 | 485 |
else: |
486 |
allowed = [] |
|
486 | 487 |
if shared: |
487 |
allowed = self.permissions.access_list_shared(path) |
|
488 |
allowed.extend(self.permissions.access_list_shared(path)) |
|
489 |
if public: |
|
488 | 490 |
allowed.extend([x[0] for x in self.permissions.public_list(path)]) |
489 |
allowed = list(set(allowed))
|
|
490 |
if not allowed:
|
|
491 |
return []
|
|
491 |
allowed = list(set(allowed)) |
|
492 |
if not allowed: |
|
493 |
return [] |
|
492 | 494 |
return allowed |
493 | 495 |
|
494 | 496 |
@backend_method |
495 | 497 |
def list_objects(self, user, account, container, prefix='', delimiter=None, marker=None, limit=10000, virtual=True, domain=None, keys=[], shared=False, until=None, size_range=None, public=False): |
496 | 498 |
"""Return a list of object (name, version_id) tuples existing under a container.""" |
497 | 499 |
|
498 |
logger.debug("list_objects: %s %s %s %s %s %s %s %s %s %s %s %s", account, container, prefix, delimiter, marker, limit, virtual, domain, keys, shared, until, size_range)
|
|
500 |
logger.debug("list_objects: %s %s %s %s %s %s %s %s %s %s %s %s %s", account, container, prefix, delimiter, marker, limit, virtual, domain, keys, shared, until, size_range, public)
|
|
499 | 501 |
return self._list_objects(user, account, container, prefix, delimiter, marker, limit, virtual, domain, keys, shared, until, size_range, False, public) |
500 | 502 |
|
501 | 503 |
@backend_method |
502 | 504 |
def list_object_meta(self, user, account, container, prefix='', delimiter=None, marker=None, limit=10000, virtual=True, domain=None, keys=[], shared=False, until=None, size_range=None, public=False): |
503 | 505 |
"""Return a list of object metadata dicts existing under a container.""" |
504 | 506 |
|
505 |
logger.debug("list_object_meta: %s %s %s %s %s %s %s %s %s %s %s %s", account, container, prefix, delimiter, marker, limit, virtual, domain, keys, shared, until, size_range)
|
|
507 |
logger.debug("list_object_meta: %s %s %s %s %s %s %s %s %s %s %s %s %s", account, container, prefix, delimiter, marker, limit, virtual, domain, keys, shared, until, size_range, public)
|
|
506 | 508 |
props = self._list_objects(user, account, container, prefix, delimiter, marker, limit, virtual, domain, keys, shared, until, size_range, True, public) |
507 | 509 |
objects = [] |
508 | 510 |
for p in props: |
Also available in: Unified diff