[Checkins] SVN: zope.security/trunk/ Change use of zope.deferredimport to from imports.

Dan Korostelev nadako at gmail.com
Mon Mar 9 12:10:50 EDT 2009


Log message for revision 97708:
  Change use of zope.deferredimport to from imports.

Changed:
  U   zope.security/trunk/CHANGES.txt
  U   zope.security/trunk/setup.py
  U   zope.security/trunk/src/zope/security/__init__.py
  U   zope.security/trunk/src/zope/security/_definitions.py
  U   zope.security/trunk/src/zope/security/decorator.py
  U   zope.security/trunk/src/zope/security/management.py
  U   zope.security/trunk/src/zope/security/proxy.py

-=-
Modified: zope.security/trunk/CHANGES.txt
===================================================================
--- zope.security/trunk/CHANGES.txt	2009-03-09 15:57:33 UTC (rev 97707)
+++ zope.security/trunk/CHANGES.txt	2009-03-09 16:10:49 UTC (rev 97708)
@@ -5,6 +5,9 @@
 3.6.1 (unreleased)
 ------------------
 
+- Use ``from`` imports instead of ``zope.deferred`` to avoid circular
+  import problems, thus drop dependency on ``zope.deferredimport``.
+
 - Raise NoInteraction when zope.security.checkPermission is called
   without interaction being active (LP #301565).
 

Modified: zope.security/trunk/setup.py
===================================================================
--- zope.security/trunk/setup.py	2009-03-09 15:57:33 UTC (rev 97707)
+++ zope.security/trunk/setup.py	2009-03-09 16:10:49 UTC (rev 97708)
@@ -67,7 +67,6 @@
                         'pytz',
                         'zope.component',
                         'zope.configuration',
-                        'zope.deferredimport',
                         'zope.exceptions',
                         'zope.i18nmessageid',
                         'zope.interface',

Modified: zope.security/trunk/src/zope/security/__init__.py
===================================================================
--- zope.security/trunk/src/zope/security/__init__.py	2009-03-09 15:57:33 UTC (rev 97707)
+++ zope.security/trunk/src/zope/security/__init__.py	2009-03-09 16:10:49 UTC (rev 97708)
@@ -16,11 +16,5 @@
 $Id$
 
 """
-
-import zope.deferredimport
-
-zope.deferredimport.define(
-    checkPermission = 'zope.security.management:checkPermission',
-    canWrite = 'zope.security.checker:canWrite',
-    canAccess = 'zope.security.checker:canAccess',
-    )
+from zope.security.management import checkPermission
+from zope.security.checker import canWrite, canAccess

Modified: zope.security/trunk/src/zope/security/_definitions.py
===================================================================
--- zope.security/trunk/src/zope/security/_definitions.py	2009-03-09 15:57:33 UTC (rev 97707)
+++ zope.security/trunk/src/zope/security/_definitions.py	2009-03-09 16:10:49 UTC (rev 97708)
@@ -13,17 +13,14 @@
 ##############################################################################
 """Common definitions to avoid circular imports
 """
-
 import threading
-
 import zope.interface
+from zope.security import interfaces
 
-import zope.security.interfaces
-
 thread_local = threading.local()
 
 class system_user(object):
-    zope.interface.classProvides(zope.security.interfaces.IPrincipal)
+    zope.interface.classProvides(interfaces.IPrincipal)
     id = u'zope.security.management.system_user'
     title = u'System'
     description = u''

Modified: zope.security/trunk/src/zope/security/decorator.py
===================================================================
--- zope.security/trunk/src/zope/security/decorator.py	2009-03-09 15:57:33 UTC (rev 97707)
+++ zope.security/trunk/src/zope/security/decorator.py	2009-03-09 16:10:49 UTC (rev 97708)
@@ -20,21 +20,14 @@
 """
 __docformat__ = "reStructuredText"
 
+from zope.interface.declarations import ObjectSpecification
 from zope.proxy import getProxiedObject, ProxyBase
 from zope.proxy.decorator import SpecificationDecoratorBase
 from zope.security.checker import selectChecker, CombinedChecker
-from zope.interface.declarations import ObjectSpecification
-import zope.deferredimport
+from zope.security.proxy import Proxy
+from zope.security.proxy import getChecker
 
-# zope.security.proxy depends on this module because of the re-injection of
-# security compatibility with zope.location. To avoid circular import problems
-# and as those two symbols are only needed at run-time, not module-execution
-# time, we import them deferred.
-zope.deferredimport.define(
-        Proxy='zope.security.proxy:Proxy',
-        getChecker='zope.security.proxy:getChecker')
 
-
 class DecoratedSecurityCheckerDescriptor(object):
     """Descriptor for a Decorator that provides a decorated security checker.
 
@@ -176,8 +169,8 @@
             return self
         else:
             proxied_object = getProxiedObject(inst)
-            if type(proxied_object) is zope.security.decorator.Proxy:
-                checker = zope.security.decorator.getChecker(proxied_object)
+            if type(proxied_object) is Proxy:
+                checker = getChecker(proxied_object)
             else:
                 checker = getattr(proxied_object, '__Security_checker__', None)
                 if checker is None:

Modified: zope.security/trunk/src/zope/security/management.py
===================================================================
--- zope.security/trunk/src/zope/security/management.py	2009-03-09 15:57:33 UTC (rev 97707)
+++ zope.security/trunk/src/zope/security/management.py	2009-03-09 16:10:49 UTC (rev 97708)
@@ -19,8 +19,7 @@
 
 import zope.interface
 
-import zope.security.interfaces
-
+from zope.security import interfaces
 from zope.security.checker import CheckerPublic
 from zope.security._definitions import thread_local, system_user
 from zope.security.simplepolicies import ParanoidSecurityPolicy
@@ -28,8 +27,8 @@
 _defaultPolicy = ParanoidSecurityPolicy
 
 zope.interface.moduleProvides(
-    zope.security.interfaces.ISecurityManagement,
-    zope.security.interfaces.IInteractionManagement)
+    interfaces.ISecurityManagement,
+    interfaces.IInteractionManagement)
 
 def _clear():
     global _defaultPolicy
@@ -81,7 +80,7 @@
     try:
         return thread_local.interaction
     except AttributeError:
-        raise zope.security.interfaces.NoInteraction
+        raise interfaces.NoInteraction
 
 def newInteraction(*participations):
     """Start a new interaction."""
@@ -140,7 +139,7 @@
         try:
             interaction = thread_local.interaction
         except AttributeError:
-            raise zope.security.interfaces.NoInteraction
+            raise interfaces.NoInteraction
     return interaction.checkPermission(permission, object)
 
 addCleanUp(endInteraction)

Modified: zope.security/trunk/src/zope/security/proxy.py
===================================================================
--- zope.security/trunk/src/zope/security/proxy.py	2009-03-09 15:57:33 UTC (rev 97707)
+++ zope.security/trunk/src/zope/security/proxy.py	2009-03-09 16:10:49 UTC (rev 97708)
@@ -18,7 +18,6 @@
 __docformat__ = 'restructuredtext'
 
 import zope.location.location
-from zope.security.decorator import DecoratedSecurityCheckerDescriptor
 from zope.security._proxy import getChecker, getObject
 from zope.security._proxy import _Proxy as Proxy
 
@@ -80,5 +79,6 @@
 # location proxy from here.
 # This is the only sane place we found for doing it: it kicks in as soon
 # as someone starts using security proxies.
+from zope.security.decorator import DecoratedSecurityCheckerDescriptor
 zope.location.location.LocationProxy.__Security_checker__ = (
     DecoratedSecurityCheckerDescriptor())



More information about the Checkins mailing list