[z3-checkins] r5684 - z3/Five/branch/dc-experiments

dreamcatcher at codespeak.net dreamcatcher at codespeak.net
Mon Jul 26 14:24:47 MEST 2004


Author: dreamcatcher
Date: Mon Jul 26 14:24:46 2004
New Revision: 5684

Removed:
   z3/Five/branch/dc-experiments/viewable.py
Log:
Remove viewable module.

Deleted: /z3/Five/branch/dc-experiments/viewable.py
==============================================================================
--- /z3/Five/branch/dc-experiments/viewable.py	Mon Jul 26 14:24:46 2004
+++ (empty file)
@@ -1,69 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2004 Five Contributors. All rights reserved.
-#
-# This software is distributed under the terms of the Zope Public
-# License (ZPL) v2.1. See COPYING.txt for more information.
-#
-##############################################################################
-"""Machinery for making things viewable through Five views
-
-$Id$
-"""
-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:
-    implements(IBrowserRequest)
-
-    debug = DebugFlags()
-
-    def getPresentationSkin(self):
-        return None
-
-class Viewable:
-    """A mixin to make an object viewable using the Zope 3 system.
-    """
-    __five_viewable__ = True
-
-    def __fallback_traverse__(self, REQUEST, name):
-        """Method hook for fallback traversal
-
-        This method is called by __bobo_traverse___ when Zope3-style
-        view lookup fails.  By default, we do what Zope 2 would do,
-        raise a NotFound error."""
-        try:
-            REQUEST.RESPONSE.notFoundError("%s " % name)
-        except AttributeError:
-            raise KeyError, name
-
-    def __bobo_traverse__(self, REQUEST, name):
-        """Hook for Zope 2 traversal
-
-        This method is called by Zope 2's ZPublisher upon traversal.
-        It allows us to trick it into publishing Zope 3-style views.
-        """
-        if not IBrowserRequest.providedBy(REQUEST):
-            REQUEST = FakeRequest()
-        try:
-            return getView(self, name, REQUEST).__of__(self)
-        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
-        try:
-            return self[name]
-        except (AttributeError, KeyError):
-            pass
-        return self.__fallback_traverse__(REQUEST, name)


More information about the z3-checkins mailing list