Revision a74ba506 snf-pithos-backend/pithos/backends/lib/sqlite/permissions.py
b/snf-pithos-backend/pithos/backends/lib/sqlite/permissions.py | ||
---|---|---|
89 | 89 |
del(permissions[WRITE]) |
90 | 90 |
return permissions |
91 | 91 |
|
92 |
def access_members(self, path): |
|
93 |
feature = self.xfeature_get(path) |
|
94 |
if not feature: |
|
95 |
return [] |
|
96 |
permissions = self.feature_dict(feature) |
|
97 |
members = set() |
|
98 |
members.update(permissions.get(READ, [])) |
|
99 |
members.update(permissions.get(WRITE, [])) |
|
100 |
for m in set(members): |
|
101 |
parts = m.split(':', 1) |
|
102 |
if len(parts) != 2: |
|
103 |
continue |
|
104 |
user, group = parts |
|
105 |
members.remove(m) |
|
106 |
members.update(self.group_members(user, group)) |
|
107 |
return members |
|
108 |
|
|
92 | 109 |
def access_clear(self, path): |
93 | 110 |
"""Revoke access to path (both permissions and public).""" |
94 | 111 |
|
Also available in: Unified diff