Revision 6e0f3e65 snf-pithos-backend/pithos/backends/lib/sqlalchemy/permissions.py
b/snf-pithos-backend/pithos/backends/lib/sqlalchemy/permissions.py | ||
---|---|---|
184 | 184 |
self.xfeaturevals.c.value == u.c.value) |
185 | 185 |
s = select([self.xfeatures.c.path], from_obj=[inner_join]).distinct() |
186 | 186 |
if prefix: |
187 |
s = s.where(self.xfeatures.c.path.like( |
|
188 |
self.escape_like(prefix) + '%', escape=ESCAPE_CHAR |
|
189 |
)) |
|
187 |
like = lambda p: self.xfeatures.c.path.like( |
|
188 |
self.escape_like(p) + '%', escape=ESCAPE_CHAR) |
|
189 |
s = s.where(or_(*map(like, |
|
190 |
self.access_inherit(prefix) or [prefix]))) |
|
190 | 191 |
r = self.conn.execute(s) |
191 | 192 |
l = [row[0] for row in r.fetchall()] |
192 | 193 |
r.close() |
... | ... | |
208 | 209 |
def access_list_shared(self, prefix=''): |
209 | 210 |
"""Return the list of shared paths.""" |
210 | 211 |
|
211 |
s = select([self.xfeatures.c.path],
|
|
212 |
self.xfeatures.c.path.like(
|
|
213 |
self.escape_like(prefix) + '%',
|
|
214 |
escape=ESCAPE_CHAR)).order_by(
|
|
215 |
self.xfeatures.c.path.asc())
|
|
212 |
s = select([self.xfeatures.c.path])
|
|
213 |
like = lambda p: self.xfeatures.c.path.like(
|
|
214 |
self.escape_like(p) + '%', escape=ESCAPE_CHAR)
|
|
215 |
s = s.where(or_(*map(like, self.access_inherit(prefix) or [prefix])))
|
|
216 |
s = s.order_by(self.xfeatures.c.path.asc())
|
|
216 | 217 |
r = self.conn.execute(s) |
217 | 218 |
l = [row[0] for row in r.fetchall()] |
218 | 219 |
r.close() |
Also available in: Unified diff