[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