[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