[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Security - metaConfigure.py:1.1.2.24 protectClass.py:1.1.2.11 publicClass.py:1.1.2.7
Jim Fulton
jim@zope.com
Tue, 26 Mar 2002 19:47:15 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/App/Security
In directory cvs.zope.org:/tmp/cvs-serv28160/lib/python/Zope/App/Security
Modified Files:
Tag: Zope-3x-branch
metaConfigure.py protectClass.py publicClass.py
Log Message:
Merged in changes from contextual-directives branch.
Now, a leading dot in a dotted name implies the package the include
file was included from. It still defaults to ZopeProducts if a file
was not included via a package.
A few of the config files have been convered to use the
shorthand. The rest still can be converted.
I also checked this against Step 6 in the tutorial, which I will check
in in a moment.
=== Zope3/lib/python/Zope/App/Security/metaConfigure.py 1.1.2.23 => 1.1.2.24 ===
-from Zope.Configuration.name import resolve
from protectClass import protectClass
from publicClass import publicClass
from PermissionRegistry import permissionRegistry as perm_reg
@@ -28,9 +27,9 @@
from PrincipalRoleManager import principalRoleManager as principal_role_mgr
from Zope.Configuration.Action import Action
-def defaultPolicy(name):
- policy = resolve( name )
- if callable( policy ):
+def defaultPolicy(_context, name):
+ policy = _context.resolve(name)
+ if callable(policy):
policy = policy()
return [
Action(
@@ -40,7 +39,7 @@
)
]
-def definePermission(permission_id, title, description=''):
+def definePermission(_context, permission_id, title, description=''):
return [
Action(
discriminator = ('definePermission', permission_id),
@@ -49,7 +48,7 @@
)
]
-def defineRole(role_id, title, description=''):
+def defineRole(_context, role_id, title, description=''):
return [
Action(
discriminator = ('defineRole', role_id),
@@ -58,7 +57,7 @@
)
]
-def principal(principal_id, title, login, password, description=''):
+def principal(_context, principal_id, title, login, password, description=''):
return [
Action(
discriminator = ('principal', principal_id),
@@ -67,7 +66,7 @@
)
]
-def defaultPrincipal(principal_id, title, description=''):
+def defaultPrincipal(_context, principal_id, title, description=''):
return [
Action(
discriminator = 'defaultPrincipal',
@@ -76,7 +75,7 @@
)
]
-def grantPermissionToRole(permission_id, role_id):
+def grantPermissionToRole(_context, permission_id, role_id):
return [
Action(
discriminator = ('grantPermissionToRole', permission_id, role_id),
@@ -85,7 +84,7 @@
)
]
-def grantPermissionToPrincipal(permission_id, principal_id):
+def grantPermissionToPrincipal(_context, permission_id, principal_id):
return [
Action(
discriminator = ('grantPermissionToPrincipal',
@@ -96,7 +95,7 @@
)
]
-def assignRoleToPrincipal(role_id, principal_id):
+def assignRoleToPrincipal(_context, role_id, principal_id):
return [
Action(
discriminator = ('assignRoleToPrincipal', role_id, principal_id),
=== Zope3/lib/python/Zope/App/Security/protectClass.py 1.1.2.10 => 1.1.2.11 ===
instances."""
-from Zope.Configuration.name import resolve
from Interface.Method import Method
from Exceptions import UndefinedPermissionError
from PermissionRegistry import permissionRegistry
@@ -42,12 +41,13 @@
__class_implements__ = INonEmptyDirective
- def __init__(self, name, permission_id=None, interface=None,
+ def __init__(self, _context, name, permission_id=None, interface=None,
methods=None):
- self.__class = resolve(name)
+ self.__class = _context.resolve(name)
self.__name = name
self.__permission_id = permission_id
- self.__r = self.protect(permission_id, interface, methods)
+ self.__context = _context
+ self.__r = self.protect(_context, permission_id, interface, methods)
# So subsequent simple-declaration-style self() calls process instances
self.__empty = 1
@@ -65,7 +65,8 @@
else:
return permission_id
- def protect(self, permission_id=None, interface=None, methods=None):
+ def protect(self, _context, permission_id=None, interface=None,
+ methods=None):
"Protect a specific aspect"
self.__empty = 0
@@ -83,7 +84,7 @@
return r
- def instances(self, permission_id=None):
+ def instances(self, _context, permission_id=None):
"Protect instances of the class, as opposed to methods"
self.__empty = 0
@@ -113,7 +114,7 @@
def __protectByInterface(self, interface, permission_id, r):
"Set a permission on methods in an interface."
- interface = resolve(interface)
+ interface = self.__context.resolve(interface)
for n, d in interface.namesAndDescriptions(1):
if isinstance(d, Method):
self.__protectMethod(n, permission_id, r)
=== Zope3/lib/python/Zope/App/Security/publicClass.py 1.1.2.6 => 1.1.2.7 ===
instances."""
-from Zope.Configuration.name import resolve
from Interface.Method import Method
PublicPermission = 'Zope.Public'
@@ -30,10 +29,11 @@
class publicClass(protectClass):
- def __init__(self, name, permission_id=None, interface=None,
+ def __init__(self, _context, name, permission_id=None, interface=None,
methods=None):
self._getPermission(permission_id) # Prohibit explicit permission!
- protectClass.__init__(self, name, permission_id=PublicPermission,
+ protectClass.__init__(self, _context, name,
+ permission_id=PublicPermission,
interface=interface, methods=methods)
def _getPermission(self, permission_id=None):