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