def _adjust_to_set(self, value): if IRole.providedBy(value): value = set([value]) elif isinstance(value, string_types): value = set([value]) else: value = set(value) return value
def register_roles(config, *roles): reg = config.registry if not hasattr(reg, 'roles'): reg.roles = {} for role in roles: assert IRole.providedBy(role), "Must be a role object" if role in reg.roles: #pragma : no coverage logger.warning("Overriding role %r" % role) reg.roles[role.principal] = role
def __setitem__(self, key, value): if value: #Make sure it exist roles_principals = get_roles_registry() if IRole.providedBy(value): value = [value] for role in value: assert role in roles_principals, "'%s' isn't a role" % role self.data[key] = OOSet(value) elif key in self.data: del self.data[key]
def __setitem__(self, key, value): if value: # Make sure it exist roles_principals = get_roles_registry() if IRole.providedBy(value): value = [value] for role in value: assert role in roles_principals, "'%s' isn't a role" % role self.data[key] = OOSet(value) elif key in self.data: del self.data[key]
def add(self, role, perms): if not IRole.providedBy(role): reg = get_current_registry() roles = getattr(reg, 'roles', {}) try: role = roles[role] except KeyError: logger.info("Creating a role object from %r" % role) role = Role(role) if isinstance(perms, six.string_types): perms = (perms,) if isinstance(perms, AllPermissionsList): self[role] = perms else: current = self.setdefault(role, set()) if not isinstance(current, AllPermissionsList): current.update(perms)
def get_any_local_with(self, role): assert isinstance(role, string_types) or IRole.providedBy(role) for (name, local_roles) in self.items(): if role in local_roles: yield name
def add(self, role): assert IRole.providedBy(role) self.data.add(role)