Commit d16f0c50 authored by Stefan H. Holek's avatar Stefan H. Holek

Got rid of import order dependencies in PageTemplates, TAL, and ZTUtils.

parent 1b8fb627
...@@ -44,42 +44,13 @@ def installHandlers(engine): ...@@ -44,42 +44,13 @@ def installHandlers(engine):
reg('not', NotExpr) reg('not', NotExpr)
reg('defer', DeferExpr) reg('defer', DeferExpr)
if sys.modules.has_key('Zope'): import AccessControl
import AccessControl import AccessControl.cAccessControl
import AccessControl.cAccessControl acquisition_security_filter = AccessControl.cAccessControl.aq_validate
acquisition_security_filter = AccessControl.cAccessControl.aq_validate from AccessControl import getSecurityManager
from AccessControl import getSecurityManager from AccessControl.ZopeGuards import guarded_getattr
from AccessControl.ZopeGuards import guarded_getattr from AccessControl import Unauthorized
try: from ZRPythonExpr import PythonExpr, _SecureModuleImporter, call_with_ns
from AccessControl import Unauthorized
except ImportError:
Unauthorized = "Unauthorized"
from ZRPythonExpr import PythonExpr, _SecureModuleImporter, call_with_ns
else:
from PythonExpr import getSecurityManager, PythonExpr
guarded_getattr = getattr
try:
from zExceptions import Unauthorized
except ImportError:
Unauthorized = "Unauthorized"
def acquisition_security_filter(orig, inst, name, v, real_validate):
if real_validate(orig, inst, name, v):
return 1
raise Unauthorized, name
def call_with_ns(f, ns, arg=1):
if arg==2:
return f(None, ns)
else:
return f(ns)
class _SecureModuleImporter:
"""Simple version of the importer for use with trusted code."""
__allow_access_to_unprotected_subobjects__ = 1
def __getitem__(self, module):
__import__(module)
return sys.modules[module]
SecureModuleImporter = _SecureModuleImporter() SecureModuleImporter = _SecureModuleImporter()
......
...@@ -23,12 +23,11 @@ from ITALES import ITALESCompiler, ITALESEngine ...@@ -23,12 +23,11 @@ from ITALES import ITALESCompiler, ITALESEngine
from DocumentTemplate.DT_Util import ustr from DocumentTemplate.DT_Util import ustr
IDomain = None IDomain = None
if sys.modules.has_key('Zope'): try:
try: from Zope.I18n.ITranslationService import ITranslationService
from Zope.I18n.ITranslationService import ITranslationService from Zope.I18n.IDomain import IDomain
from Zope.I18n.IDomain import IDomain except ImportError:
except ImportError: pass
pass
if IDomain is None: if IDomain is None:
# Before 2.7, or not in Zope # Before 2.7, or not in Zope
class ITranslationService: pass class ITranslationService: pass
......
...@@ -15,16 +15,12 @@ ...@@ -15,16 +15,12 @@
$Id$ $Id$
""" """
from Batch import Batch
from Iterator import Iterator from Iterator import Iterator
from Tree import TreeMaker, encodeExpansion, decodeExpansion, a2b, b2a from Tree import encodeExpansion, decodeExpansion, a2b, b2a
from SimpleTree import SimpleTreeMaker from SimpleTree import SimpleTreeMaker
import sys __allow_access_to_unprotected_subobjects__ = 1
if sys.modules.has_key('Zope'): __roles__ = None
del sys
__allow_access_to_unprotected_subobjects__ = 1
__roles__ = None
from Zope import Batch, TreeMaker, SimpleTreeMaker, LazyFilter from ZTUtils.Zope import Batch, TreeMaker, SimpleTreeMaker, LazyFilter
from Zope import url_query, make_query, make_hidden_input from ZTUtils.Zope import url_query, make_query, make_hidden_input
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment