[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/Container - ContainerTraverser.py:1.4 configure.zcml:1.5

Jim Fulton jim@zope.com
Thu, 11 Jul 2002 14:22:00 -0400


Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Container
In directory cvs.zope.org:/tmp/cvs-serv7355/lib/python/Zope/App/OFS/Container

Modified Files:
	ContainerTraverser.py configure.zcml 
Log Message:

Reimplemented service managers to be package based. Service managers
are no longer containers. They have a packages subobject (not a
packages service) that contains packages. TTW components are created
in packages. To register a component, create the appropriate component
directive objects (these should be called configuration objects).

This should be viewed as a prototype to illustrate the idea of
packages. Lots of things can change (especially UI) and many things
aren't done (e.g. visiting created directives).

In the course of this, I fixed a bunch of bugs and problems in
traversal machinery. 

I also renamed Zope.ComponentArchitecture.IServiceManager back to
IServiceService, since this interface doesn't actually specify any
management.  



=== Zope3/lib/python/Zope/App/OFS/Container/ContainerTraverser.py 1.3 => 1.4 ===
 from Zope.Publisher.Browser.IBrowserPublisher import IBrowserPublisher
 from Zope.Publisher.XMLRPC.IXMLRPCPublisher import IXMLRPCPublisher
 from Zope.Publisher.Exceptions import NotFound
-from IContainer import IReadContainer, IItemContainer
+from IContainer import ISimpleReadContainer, IItemContainer
 from Zope.ComponentArchitecture import queryView
 from Zope.ComponentArchitecture import getDefaultViewName
 
@@ -28,10 +28,11 @@
 class ContainerTraverser:
 
     __implements__ = IBrowserPublisher, IXMLRPCPublisher
-    __used_for__ = IReadContainer
+    __used_for__ = ISimpleReadContainer
 
     def __init__(self, container, request):
         self.context = container
+        self.request = request
 
     def publishTraverse(self, request, name):
         c = self.context


=== Zope3/lib/python/Zope/App/OFS/Container/configure.zcml 1.4 => 1.5 ===
 
   <browser:view
       name="_traverse" 
-      for=".IContainer.IReadContainer"
+      for=".IContainer.ISimpleReadContainer"
       factory=".ContainerTraverser." />
 
   <xmlrpc:view