[Checkins] SVN: Products.PluggableAuthService/trunk/ Updated setDefaultRoles to use the addPermission API if available.

Hanno Schlichting hannosch at hannosch.eu
Sun Jun 6 12:14:30 EDT 2010


Log message for revision 113212:
  Updated setDefaultRoles to use the addPermission API if available.
  

Changed:
  U   Products.PluggableAuthService/trunk/CHANGES.txt
  U   Products.PluggableAuthService/trunk/Products/PluggableAuthService/permissions.py
  U   Products.PluggableAuthService/trunk/Products/PluggableAuthService/version.txt

-=-
Modified: Products.PluggableAuthService/trunk/CHANGES.txt
===================================================================
--- Products.PluggableAuthService/trunk/CHANGES.txt	2010-06-06 15:26:29 UTC (rev 113211)
+++ Products.PluggableAuthService/trunk/CHANGES.txt	2010-06-06 16:14:30 UTC (rev 113212)
@@ -1,6 +1,12 @@
 Change Log
 ==========
 
+1.7.1 (unreleased)
+------------------
+
+- Updated setDefaultRoles to use the addPermission API if available.
+
+
 1.7.0 (2010-04-08)
 ------------------
 

Modified: Products.PluggableAuthService/trunk/Products/PluggableAuthService/permissions.py
===================================================================
--- Products.PluggableAuthService/trunk/Products/PluggableAuthService/permissions.py	2010-06-06 15:26:29 UTC (rev 113211)
+++ Products.PluggableAuthService/trunk/Products/PluggableAuthService/permissions.py	2010-06-06 16:14:30 UTC (rev 113212)
@@ -17,10 +17,6 @@
 """
 from AccessControl import ModuleSecurityInfo
 from AccessControl import Permissions
-from AccessControl.Permission import _registeredPermissions
-from AccessControl.Permission import pname
-from AccessControl.Permission import ApplicationDefaultPermissions
-import Products
 
 security = ModuleSecurityInfo( 'Products.PluggableAuthService.permissions' )
 
@@ -30,25 +26,33 @@
 security.declarePublic( 'ManageGroups' )
 ManageGroups = "Manage Groups"
 
+addPermission = None
+try:
+    from AccessControl.Permission import addPermission
+except ImportError:
+    pass
+
 security.declarePrivate( 'setDefaultRoles' )
 def setDefaultRoles( permission, roles ):
-
     """ Set the defaults roles for a permission.
-
-    o XXX This ought to be in AccessControl.SecurityInfo.
     """
-    registered = _registeredPermissions
+    if addPermission is not None:
+        addPermission(permission, roles)
+    else:
+        # BBB This is in AccessControl starting in Zope 2.13
+        from AccessControl.Permission import _registeredPermissions
+        from AccessControl.Permission import pname
+        from AccessControl.Permission import ApplicationDefaultPermissions
+        import Products
+        registered = _registeredPermissions
+        if not registered.has_key( permission ):
+            registered[ permission ] = 1
+            Products.__ac_permissions__=(
+                Products.__ac_permissions__+((permission,(),roles),))
+            mangled = pname(permission)
+            setattr(ApplicationDefaultPermissions, mangled, roles)
 
-    if not registered.has_key( permission ):
 
-        registered[ permission ] = 1
-        Products.__ac_permissions__=( Products.__ac_permissions__
-                                    + ( ( permission, (), roles ), )
-                                    )
-
-        mangled = pname(permission)
-        setattr(ApplicationDefaultPermissions, mangled, roles)
-
 security.declarePublic( 'SearchPrincipals' )
 SearchPrincipals = 'Search for principals'
 setDefaultRoles( SearchPrincipals, ( 'Manager', ) )

Modified: Products.PluggableAuthService/trunk/Products/PluggableAuthService/version.txt
===================================================================
--- Products.PluggableAuthService/trunk/Products/PluggableAuthService/version.txt	2010-06-06 15:26:29 UTC (rev 113211)
+++ Products.PluggableAuthService/trunk/Products/PluggableAuthService/version.txt	2010-06-06 16:14:30 UTC (rev 113212)
@@ -1 +1 @@
-1.7.0
+1.7.1



More information about the checkins mailing list