1 # -*- coding: iso-8859-1 -*-
3 MoinMoin - config group lazy backend.
5 The config group backend allows one to define groups in a
8 NOTE that this is proof-of-concept implementation. LDAP backend
9 should be based on this concept.
12 @license: GPL, see COPYING for details
15 from MoinMoin.datastruct.backends import LazyGroup, LazyGroupsBackend
18 class ConfigLazyGroup(LazyGroup):
22 class ConfigLazyGroups(LazyGroupsBackend):
24 def __init__(self, request, groups):
25 super(ConfigLazyGroups, self).__init__(request)
29 def __contains__(self, group_name):
30 return group_name in self._groups
33 return self._groups.iterkeys()
35 def __getitem__(self, group_name):
36 return ConfigLazyGroup(self.request, group_name, self)
38 def _iter_group_members(self, group_name):
39 if group_name in self:
40 return self._groups[group_name].__iter__()
42 def _group_has_member(self, group_name, member):
43 return group_name in self and member in self._groups[group_name]