[Zope-Checkins] CVS: Zope3/lib/python/Zope/Publisher/Browser - metaConfigure.py:1.1.2.11

Steve Alexander steve@cat-box.net
Thu, 14 Feb 2002 11:37:17 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/Publisher/Browser
In directory cvs.zope.org:/tmp/cvs-serv15281/Publisher/Browser

Modified Files:
      Tag: Zope-3x-branch
	metaConfigure.py 
Log Message:
Corrected bugs in defaultViewName registration. Added defaultViewName registration to Publisher/Browser.
Added test for browser:defaultView directive.
TODO: add test for defaultViewDirective in ComponentArchitecture/tests



=== Zope3/lib/python/Zope/Publisher/Browser/metaConfigure.py 1.1.2.10 => 1.1.2.11 ===
 # FOR A PARTICULAR PURPOSE.
 from Zope.ComponentArchitecture import provideView, defineSkin, provideResource
+from Zope.ComponentArchitecture import setDefaultViewName
 from Zope.Configuration.name import resolve
+from Zope.Configuration.Action import Action
 from IBrowserPublisher import IBrowserPublisher
 
-def defaultView(name, factory, for_=None):
+def defaultView(name, factory, for_=None, layer=''):
     if for_ is not None:
         for_ = resolve(for_)
     factory = map(resolve, factory.split(' '))
     
     return [
-        (('view', for_, name, IBrowserPublisher),
-        provideView, (for_, name, IBrowserPublisher, factory)),
-        (('view', for_, '', IBrowserPublisher),
-        provideView, (for_, '', IBrowserPublisher, factory)),
+        Action(
+            discriminator = ('view', for_, name, IBrowserPublisher),
+            callable = provideView, 
+            args = (for_, name, IBrowserPublisher, factory, layer),
+            ),
+        Action(
+            discriminator = ('defaultViewName', for_, name, IBrowserPublisher),
+            callable = setDefaultViewName,
+            args = (for_, IBrowserPublisher, name),
+            )
         ]
-
+    
 def view(name, factory, for_=None, layer=''):
     if for_ is not None:
         for_ = resolve(for_)