[Zope-Checkins] SVN: Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py cleanup (shorter name, better docstring)

Philipp von Weitershausen philikon at philikon.de
Sun May 28 09:54:27 EDT 2006


Log message for revision 68311:
  cleanup (shorter name, better docstring)
  

Changed:
  U   Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py

-=-
Modified: Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py
===================================================================
--- Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py	2006-05-28 13:49:16 UTC (rev 68310)
+++ Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py	2006-05-28 13:54:27 UTC (rev 68311)
@@ -53,9 +53,12 @@
 # Path Expression uses them
 ZopeUndefs = Undefs + (NotFound, Unauthorized)
 
-def boboTraverseAwareSimpleTraverse(object, path_items, econtext):
-    """A slightly modified version of zope.tales.expressions.simpleTraverse
-    that interacts correctly with objects providing OFS.interfaces.ITraversable.
+def boboAwareZopeTraverse(object, path_items, econtext):
+    """Traverses a sequence of names, first trying attributes then items.
+
+    This uses Zope 3 path traversal where possible and interacts
+    correctly with objects providing OFS.interface.ITraversable when
+    necessary (bobo-awareness).
     """
     request = getattr(econtext, 'request', None)
     path_items = list(path_items)
@@ -97,7 +100,7 @@
 
     def __init__(self, name, expr, engine):
         super(ZopePathExpr, self).__init__(name, expr, engine,
-                                           boboTraverseAwareSimpleTraverse)
+                                           boboAwareZopeTraverse)
 
     # override this to support different call metrics (see bottom of
     # method) and Zope 2's traversal exceptions (ZopeUndefs instead of
@@ -232,8 +235,8 @@
         if isinstance(name, basestring):
             name = name.split('/')
         try:
-            ob1 = boboTraverseAwareSimpleTraverse(ob1, name, None)
-            ob2 = boboTraverseAwareSimpleTraverse(ob2, name, None)
+            ob1 = boboAwareZopeTraverse(ob1, name, None)
+            ob2 = boboAwareZopeTraverse(ob2, name, None)
         except LookupError:
             return False
         return ob1 == ob2



More information about the Zope-Checkins mailing list