def invalidate(self): self._ldap_users = None self.clear() def __iter__(self): try: for key in self.ldap_users: yield key except Exception, e: # XXX: explicit exception print e iterkeys = __iter__ def __getitem__(self, name): try: return BaseNode.__getitem__(self, name) except KeyError: if not name in self.iterkeys(): raise KeyError(name) user = User(self.ldap_users[name], name, self) self[name] = user return user info = BaseNodeInfo() info.title = 'Users' info.description = 'Users Container.' info.node = Users info.addables = ['user'] registerNodeInfo('users', info)
node_info_name = 'user' __acl__ = [ (Allow, 'group:authenticated', 'view'), (Allow, 'group:authenticated', 'edit'), (Allow, Everyone, 'login'), (Deny, Everyone, ALL_PERMISSIONS), ] @property def properties(self): props = Properties() props.editable = True return props @property def metadata(self): metadata = BaseMetadata() metadata.title = "User" metadata.description = "User" return metadata def __call__(self): self.model() info = BaseNodeInfo() info.title = 'User' info.description = 'User' info.node = User info.addables = [] registerNodeInfo('user', info)