[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Security - RoleRegistry.py:1.1.2.4
Jim Fulton
jim@zope.com
Wed, 26 Dec 2001 15:33:32 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/App/Security
In directory cvs.zope.org:/tmp/cvs-serv31621
Modified Files:
Tag: Zope-3x-branch
RoleRegistry.py
Log Message:
Got rid of id obfuscation for now.
Added anonymous definition to initialization so
that it's not lost by a clear.
Exported registry with a less generic name.
=== Zope3/lib/python/Zope/App/Security/RoleRegistry.py 1.1.2.3 => 1.1.2.4 ===
PREFIX = 'Global Role'
-SUFFIX = 'Everybody'
-DESCRIP = 'All users have this role'
from Zope.App.Security.RegisteredObject import RegisteredObject
from Zope.App.Security.Registry import Registry
@@ -24,6 +22,7 @@
class RoleRegistry(Registry):
+
def __init__(self, prefix=PREFIX):
Registry.__init__(self, Role)
self._prefix = prefix
@@ -34,7 +33,7 @@
def defineRole(self, role, title, description=None):
"""Define a new role object, register, and return it.
- role is the role name, must be globally unique
+ role is the role name.
title is the role title, human readable.
@@ -42,21 +41,26 @@
"""
if description is None:
description = ''
- return self.register(self._make_global_id(role), title, description)
+ id = role
+ return self.register(id, title, description)
- def definedRole(self, role):
+ def definedRole(self, id):
"""Return true if named role is registered, otherwise return false
"""
- return self.is_registered(self._make_global_id(role))
+ return self.is_registered(id)
- def getRole(self, role):
+ def getRole(self, id):
"""Return role object registered as name.
If no named role is registered KeyError is raised.
"""
- return self.getRegisteredObject(self._make_global_id(role))
+ return self.getRegisteredObject(id)
+ def _clear(self):
+ # Standard roles
+ Registry._clear(self)
+ self.register("Anonymous", "Everybody",
+ "All users have this role implicitly")
-registry = RoleRegistry()
+roleRegistry = RoleRegistry()
-Everybody = registry.defineRole(SUFFIX, SUFFIX, DESCRIP)