[Zope-Checkins] CVS: Products/PageTemplates - Expressions.py:1.43.44.6

Chris McDonough chrism at plope.com
Sun Sep 25 09:44:33 EDT 2005


Update of /cvs-repository/Products/PageTemplates
In directory cvs.zope.org:/tmp/cvs-serv24510/lib/python/Products/PageTemplates

Modified Files:
      Tag: Zope-2_7-branch
	Expressions.py 
Log Message:
Prevent 'render' function in Expressions.py for being called for basic types (minor speed improvement).  See  http://www.zope.org/Collectors/Zope/1890. 




=== Products/PageTemplates/Expressions.py 1.43.44.5 => 1.43.44.6 ===
--- Products/PageTemplates/Expressions.py:1.43.44.5	Fri Mar 25 14:39:03 2005
+++ Products/PageTemplates/Expressions.py	Sun Sep 25 09:44:01 2005
@@ -145,7 +145,9 @@
         return 0
 
     def _eval(self, econtext,
-              isinstance=isinstance, StringType=type(''), render=render):
+              isinstance=isinstance,
+              BasicTypes=(str, unicode, dict, list, tuple, bool),
+              render=render):
         for expr in self._subexprs[:-1]:
             # Try all but the last subexpression, skipping undefined ones.
             try:
@@ -161,7 +163,7 @@
             if self._hybrid:
                 return ob
 
-        if self._name == 'nocall' or isinstance(ob, StringType):
+        if self._name == 'nocall' or isinstance(ob, BasicTypes):
             return ob
         # Return the rendered object
         return render(ob, econtext.vars)



More information about the Zope-Checkins mailing list