[Zope-Checkins]
SVN: Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/P
removed
Andreas Jung
andreas at andreas-jung.com
Sun Dec 11 08:09:25 EST 2005
Log message for revision 40701:
removed
Changed:
D Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PathIterator.py
D Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PythonExpr.py
-=-
Deleted: Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PathIterator.py
===================================================================
--- Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PathIterator.py 2005-12-11 13:08:03 UTC (rev 40700)
+++ Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PathIterator.py 2005-12-11 13:09:25 UTC (rev 40701)
@@ -1,46 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2002 Zope Corporation and Contributors. All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE
-#
-##############################################################################
-
-"""Path Iterator
-
-A TALES Iterator with the ability to use first() and last() on
-subpaths of elements.
-"""
-
-__version__='$Revision: 1.4 $'[11:-2]
-
-import TALES
-from Expressions import restrictedTraverse, Undefs, getSecurityManager
-
-class Iterator(TALES.Iterator):
- def __bobo_traverse__(self, REQUEST, name):
- if name in ('first', 'last'):
- path = REQUEST['TraversalRequestNameStack']
- names = list(path)
- names.reverse()
- path[:] = [tuple(names)]
- return getattr(self, name)
-
- def same_part(self, name, ob1, ob2):
- if name is None:
- return ob1 == ob2
- if isinstance(name, type('')):
- name = name.split('/')
- name = filter(None, name)
- securityManager = getSecurityManager()
- try:
- ob1 = restrictedTraverse(ob1, name, securityManager)
- ob2 = restrictedTraverse(ob2, name, securityManager)
- except Undefs:
- return 0
- return ob1 == ob2
Deleted: Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PythonExpr.py
===================================================================
--- Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PythonExpr.py 2005-12-11 13:08:03 UTC (rev 40700)
+++ Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PythonExpr.py 2005-12-11 13:09:25 UTC (rev 40701)
@@ -1,86 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2002 Zope Corporation and Contributors. All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE
-#
-##############################################################################
-
-"""Generic Python Expression Handler
-"""
-
-__version__='$Revision: 1.13 $'[11:-2]
-
-from TALES import CompilerError
-from sys import exc_info
-from DeferExpr import DeferWrapper
-
-class getSecurityManager:
- '''Null security manager'''
- def validate(self, *args, **kwargs):
- return 1
- addContext = removeContext = validate
-
-class PythonExpr:
- def __init__(self, name, expr, engine):
- self.expr = expr = expr.strip().replace('\n', ' ')
- try:
- d = {}
- exec 'def f():\n return %s\n' % expr.strip() in d
- self._f = d['f']
- except:
- raise CompilerError, ('Python expression error:\n'
- '%s: %s') % exc_info()[:2]
- self._get_used_names()
-
- def _get_used_names(self):
- self._f_varnames = vnames = []
- for vname in self._f.func_code.co_names:
- if vname[0] not in '$_':
- vnames.append(vname)
-
- def _bind_used_names(self, econtext, _marker=[]):
- # Bind template variables
- names = {'CONTEXTS': econtext.contexts}
- vars = econtext.vars
- getType = econtext.getCompiler().getTypes().get
- for vname in self._f_varnames:
- val = vars.get(vname, _marker)
- if val is _marker:
- has = val = getType(vname)
- if has:
- val = ExprTypeProxy(vname, val, econtext)
- names[vname] = val
- else:
- names[vname] = val
- for key, val in names.items():
- if isinstance(val, DeferWrapper):
- names[key] = val()
- return names
-
- def __call__(self, econtext):
- __traceback_info__ = self.expr
- f = self._f
- f.func_globals.update(self._bind_used_names(econtext))
- return f()
-
- def __str__(self):
- return 'Python expression "%s"' % self.expr
- def __repr__(self):
- return '<PythonExpr %s>' % self.expr
-
-class ExprTypeProxy:
- '''Class that proxies access to an expression type handler'''
- def __init__(self, name, handler, econtext):
- self._name = name
- self._handler = handler
- self._econtext = econtext
- def __call__(self, text):
- return self._handler(self._name, text,
- self._econtext.getCompiler())(self._econtext)
-
More information about the Zope-Checkins
mailing list