[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