[Checkins] SVN: grokcore.security/trunk/src/grokcore/security/ Make previous change really work.

Sylvain Viollow cvs-admin at zope.org
Wed May 2 09:36:01 UTC 2012


Log message for revision 125586:
  Make previous change really work.
  

Changed:
  U   grokcore.security/trunk/src/grokcore/security/__init__.py
  U   grokcore.security/trunk/src/grokcore/security/components.py
  U   grokcore.security/trunk/src/grokcore/security/interfaces.py
  U   grokcore.security/trunk/src/grokcore/security/meta/role.py

-=-
Modified: grokcore.security/trunk/src/grokcore/security/__init__.py
===================================================================
--- grokcore.security/trunk/src/grokcore/security/__init__.py	2012-05-02 09:31:21 UTC (rev 125585)
+++ grokcore.security/trunk/src/grokcore/security/__init__.py	2012-05-02 09:35:58 UTC (rev 125586)
@@ -15,7 +15,7 @@
 """
 from grokcore.component import *
 
-from grokcore.security.components import Permission, Role
+from grokcore.security.components import Permission
 from grokcore.security.components import Public
 from grokcore.security.directive import require, permissions
 
@@ -24,5 +24,8 @@
 import grokcore.security.testing
 
 # Only export public API
-from grokcore.security.interfaces import IGrokcoreSecurityAPI
+from grokcore.security.interfaces import IGrokcoreSecurityAPI, HAVE_ROLE
+if HAVE_ROLE:
+    from grokcore.security.components import Role
+
 __all__ = list(IGrokcoreSecurityAPI)

Modified: grokcore.security/trunk/src/grokcore/security/components.py
===================================================================
--- grokcore.security/trunk/src/grokcore/security/components.py	2012-05-02 09:31:21 UTC (rev 125585)
+++ grokcore.security/trunk/src/grokcore/security/components.py	2012-05-02 09:35:58 UTC (rev 125586)
@@ -14,26 +14,18 @@
 """Grok components"""
 
 from zope.security.permission import Permission
+from grokcore.security.interfaces import HAVE_ROLE
 
-def api(name):
-    from zope.dottedname.resolve import resolve
-    from zope.interface import Interface
 
-    try:
-        return True, resolve(name)
-    except ImportError:
-        return False, Interface
-
-
 class Permission(Permission):
     pass
 
 Public = 'zope.Public'
 
 
-HAVE_ROLE, securitypolicy_Role = api('zope.securitypolicy.role.Role')
-
 if HAVE_ROLE:
+    from zope.securitypolicy.role import Role as securitypolicy_Role
+
     class Role(securitypolicy_Role):
         """Base class for roles in Grok applications.
 

Modified: grokcore.security/trunk/src/grokcore/security/interfaces.py
===================================================================
--- grokcore.security/trunk/src/grokcore/security/interfaces.py	2012-05-02 09:31:21 UTC (rev 125585)
+++ grokcore.security/trunk/src/grokcore/security/interfaces.py	2012-05-02 09:35:58 UTC (rev 125586)
@@ -15,10 +15,24 @@
 """
 from zope.interface import Interface, Attribute
 
+def api(name):
+    from zope.dottedname.resolve import resolve
+    from zope.interface import Interface
+
+    try:
+        return True, resolve(name)
+    except ImportError:
+        return False, Interface
+
+
+HAVE_ROLE, IRole = api('zope.securitypolicy.interfaces.IRole')
+
+
 class IBaseClasses(Interface):
     Permission = Attribute("Base class for permissions.")
 
-    Role = Attribute("Base class for roles.")
+    if HAVE_ROLE:
+        Role = Attribute("Base class for roles.")
 
 
 class IDirectives(Interface):

Modified: grokcore.security/trunk/src/grokcore/security/meta/role.py
===================================================================
--- grokcore.security/trunk/src/grokcore/security/meta/role.py	2012-05-02 09:31:21 UTC (rev 125585)
+++ grokcore.security/trunk/src/grokcore/security/meta/role.py	2012-05-02 09:35:58 UTC (rev 125586)
@@ -14,7 +14,7 @@
 """Grokkers for security-related components."""
 
 
-from grokcore.security.components import HAVE_ROLE
+from grokcore.security.interfaces import HAVE_ROLE
 
 if HAVE_ROLE:
     import martian



More information about the checkins mailing list