[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)