[z3-checkins] r5654 - z3/Five/branch/dc-experiments
dreamcatcher at codespeak.net
dreamcatcher at codespeak.net
Sat Jul 24 22:35:55 MEST 2004
Author: dreamcatcher
Date: Sat Jul 24 22:35:55 2004
New Revision: 5654
Modified:
z3/Five/branch/dc-experiments/viewable.py
Log:
- Try to use an ITraverser adapter. This enables the use of namespaces,
like ++resource++. Now that I think about it, we should probably
change five:viewable to five:traversable, as this makes more sense.
Modified: z3/Five/branch/dc-experiments/viewable.py
==============================================================================
--- z3/Five/branch/dc-experiments/viewable.py (original)
+++ z3/Five/branch/dc-experiments/viewable.py Sat Jul 24 22:35:55 2004
@@ -10,10 +10,11 @@
$Id$
"""
-from webdav.NullResource import NullResource
+from zope.exceptions import NotFoundError
from zope.component import getView, ComponentLookupError
from zope.interface import implements
from zope.publisher.interfaces.browser import IBrowserRequest
+from zope.app.traversing.interfaces import ITraverser
from monkey import DebugFlags
class FakeRequest:
@@ -53,6 +54,11 @@
except ComponentLookupError:
pass
try:
+ kw = dict(path=[name], request=REQUEST)
+ return ITraverser(self).traverse(**kw).__of__(self)
+ except (ComponentLookupError, NotFoundError, AttributeError):
+ pass
+ try:
return getattr(self, name)
except AttributeError:
pass
@@ -60,5 +66,4 @@
return self[name]
except (AttributeError, KeyError):
pass
-
return self.__fallback_traverse__(REQUEST, name)
More information about the z3-checkins
mailing list