Mercurial > p > roundup > code
view roundup/cgi/PageTemplates/MultiMapping.py @ 5272:c6fbd4803eae
If you upgrade to the newer query edit interface but did not allow
users full access to search queries, the edit interface displays
public queries that the user does not own in the section labeled
"Queries I created".
Updated upgrading.txt to discuss this problem and link back to the
1.4.17 upgrading instructions. Also included schema.py permissions
that can be used to make the edit interface work correctly without
allow full search access for queries.
Updated the test script in the 1.4.17 upgrading instructions to
display protected properties (like creator) to make dignosing this
easier.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 23 Sep 2017 13:05:48 -0400 |
| parents | 81cb4860ca75 |
| children | 35ea9b1efc14 |
line wrap: on
line source
import operator class MultiMapping: def __init__(self, *stores): self.stores = list(stores) def __getitem__(self, key): for store in self.stores: if store.has_key(key): return store[key] raise KeyError, key _marker = [] def get(self, key, default=_marker): for store in self.stores: if store.has_key(key): return store[key] if default is self._marker: raise KeyError, key return default def __len__(self): return reduce(operator.add, [len(x) for x in self.stores], 0) def push(self, store): self.stores.append(store) def pop(self): return self.stores.pop() def items(self): l = [] for store in self.stores: l = l + store.items() return l
