From: Sofia Papagiannaki Date: Tue, 26 Jun 2012 16:06:36 +0000 (+0300) Subject: optimize sorts X-Git-Tag: pithos/v0.10.1~22^2~6 X-Git-Url: https://code.grnet.gr/git/pithos/commitdiff_plain/56ac7c813a760ed5e3e559e7156939e8f70deab2?ds=sidebyside optimize sorts --- diff --git a/snf-pithos-backend/pithos/backends/modular.py b/snf-pithos-backend/pithos/backends/modular.py index b3ab147..d1e3126 100644 --- a/snf-pithos-backend/pithos/backends/modular.py +++ b/snf-pithos-backend/pithos/backends/modular.py @@ -324,13 +324,12 @@ class ModularBackend(BaseBackend): start, limit = self._list_limits(allowed, marker, limit) return allowed[start:start + limit] if shared or public: - allowed = [] + allowed = set() if shared: - allowed.extend([x.split('/', 2)[1] for x in self.permissions.access_list_shared(account)]) + allowed.update([x.split('/', 2)[1] for x in self.permissions.access_list_shared(account)]) if public: - allowed.extend([x[0].split('/', 2)[1] for x in self.permissions.public_list(account)]) - allowed = list(set(allowed)) - allowed.sort() + allowed.update([x[0].split('/', 2)[1] for x in self.permissions.public_list(account)]) + allowed = sorted(allowed) start, limit = self._list_limits(allowed, marker, limit) return allowed[start:start + limit] node = self.node.node_lookup(account) @@ -529,13 +528,12 @@ class ModularBackend(BaseBackend): if not allowed: raise NotAllowedError else: - allowed = [] + allowed = set() if shared: - allowed.extend(self.permissions.access_list_shared(path)) + allowed.update(self.permissions.access_list_shared(path)) if public: - allowed.extend([x[0] for x in self.permissions.public_list(path)]) - allowed = list(set(allowed)) - allowed.sort() + allowed.update([x[0] for x in self.permissions.public_list(path)]) + allowed = sorted(allowed) if not allowed: return [] return allowed