[z3-checkins] r5862 - z3/Flon/trunk

dreamcatcher at codespeak.net dreamcatcher at codespeak.net
Tue Aug 3 21:05:09 MEST 2004


Author: dreamcatcher
Date: Tue Aug  3 21:05:08 2004
New Revision: 5862

Added:
   z3/Flon/trunk/overrides.zcml
Modified:
   z3/Flon/trunk/browser.py
Log:
Move the custom BrowserDefault here while i dont write a test for it *wink*

Modified: z3/Flon/trunk/browser.py
==============================================================================
--- z3/Flon/trunk/browser.py	(original)
+++ z3/Flon/trunk/browser.py	Tue Aug  3 21:05:08 2004
@@ -20,7 +20,9 @@
 """
 
 from Products.Five.browser import BrowserView
+from Products.Five.viewable import BrowserDefault as BaseDefault, IBrowserDefault
 from Products.CMFCore.utils import getToolByName
+from zope.component import getView, ComponentLookupError
 from zope.app.apidoc.viewmodule.browser import SkinLayer as _SkinLayer
 from zope.app.apidoc.viewmodule.browser import ViewsDetails as _ViewsDetails
 
@@ -38,3 +40,18 @@
     def __call__(self):
         it = getToolByName(self.context, 'portal_interface')
         return it.getDirectlyProvidedNames(self.context)
+
+class BrowserDefault(BaseDefault):
+
+    def defaultView(self, request):
+        context, path = super(BrowserDefault, self).defaultView(request)
+        if path and len(path) == 1:
+            # Try to lookup a view with the name
+            # found, and if that fails, return None
+            try:
+                getView(context, path[0], request)
+            except ComponentLookupError:
+                pass
+            else:
+                return context, path
+        return context, None

Added: z3/Flon/trunk/overrides.zcml
==============================================================================
--- (empty file)
+++ z3/Flon/trunk/overrides.zcml	Tue Aug  3 21:05:08 2004
@@ -0,0 +1,9 @@
+<configure xmlns="http://namespaces.zope.org/zope">
+
+  <adapter
+      for="*"
+      factory=".browser.BrowserDefault"
+      provides="Products.Five.interfaces.IBrowserDefault"
+      />
+
+</configure>
\ No newline at end of file


More information about the z3-checkins mailing list