diff options
author | Steve Alexander <steve@z3u.com> | 2002-06-18 20:07:56 +0000 |
---|---|---|
committer | Steve Alexander <steve@z3u.com> | 2002-06-18 20:07:56 +0000 |
commit | e27c5ec1065728cd6007e8c49ff0b681267773a1 (patch) | |
tree | cd0c40b4902531086b7fe4118b8473b1adc531e0 | |
parent | f5bc1c006cdde3ecdd4e0816066f2d199d511eaf (diff) | |
download | zope-traversing-e27c5ec1065728cd6007e8c49ff0b681267773a1.tar.gz |
corrected inappropriate use of "self" as a marker.
-rw-r--r-- | DefaultTraversable.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/DefaultTraversable.py b/DefaultTraversable.py index e972122..aced9e5 100644 --- a/DefaultTraversable.py +++ b/DefaultTraversable.py @@ -15,6 +15,7 @@ from ITraversable import ITraversable from Zope.Exceptions import NotFoundError from Exceptions import UnexpectedParameters +_marker = object() # opaque marker that doesn't get security proxied class DefaultTraversable: """Traverses objects via attribute and item lookup""" @@ -27,8 +28,8 @@ class DefaultTraversable: if parameters: raise UnexpectedParameters(parameters) subject = self._subject - r = getattr(subject, name, self) # self used as marker - if r is not self: + r = getattr(subject, name, _marker) + if r is not _marker: return r if hasattr(subject, '__getitem__'): |