[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/ServiceManager/Views/Browser - Adder.py:1.1.2.3 Bindings.py:1.1.2.5

Gary Poster garyposter@earthlink.net
Mon, 22 Apr 2002 15:03:52 -0400


Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/ServiceManager/Views/Browser
In directory cvs.zope.org:/tmp/cvs-serv31509/App/OFS/ServiceManager/Views/Browser

Modified Files:
      Tag: Zope-3x-branch
	Adder.py Bindings.py 
Log Message:
1. As per ZopeTop discussion, moved Addable out of ZMI into the Services folder, and turned it into a true service (this involved a lot of small changes, particularly in the folders and a number of tests) and gave it some hooks
2. used SteveA's ContextWrapper.ContextMethod to make the ServiceManager and Services placefully look up to parent placeful equivalents
3. Made Event into a more standard service, and gave it some hooks
4. Built the beginning of a placeful EventService (will need tests, and views, and EventChannels, and more meat; just wanted to check this in for now)
5. made it so you can't add an item to a folder with a blank string id, and updated the folder interface
6. some typos fixed here and there
7. a few more tests here and there

I'm checking this in then checking it out again to check my work; also tagged previous version as gary-service_update.



=== Zope3/lib/python/Zope/App/OFS/ServiceManager/Views/Browser/Adder.py 1.1.2.2 => 1.1.2.3 ===
 
 from Zope.App.OFS.Container.Views.Browser.Adder import ContainerAdder
-from Zope.App.ZMI.Addable import ServiceAddables
+from Zope.App.OFS.Services.AddableService import getAddableServices
 
 class Adder(ContainerAdder):
     """Specialize addable list for service implemenations.
     """
     def _listAddables(self):
         # Override to look up from the service class registry.
-        return ServiceAddables.getAddables( self.getContext() )
+        return getAddableServices(self.getContext())
 


=== Zope3/lib/python/Zope/App/OFS/ServiceManager/Views/Browser/Bindings.py 1.1.2.4 => 1.1.2.5 ===
 from Zope.Publisher.Browser.AttributePublisher import AttributePublisher
 from Zope.ComponentArchitecture.ContextDependent import ContextDependent
+from Zope.ComponentArchitecture.Exceptions import ComponentLookupError
 
 class Bindings(AttributePublisher, ContextDependent):
 
@@ -39,9 +40,11 @@
             bound = context.getBoundService(serviceName)
             
             if bound is None:
-                acquired = context.getService(serviceName)
-                if acquired:
+                try:
+                    acquired = context.getService(serviceName)
                     acquiredOrNone = 'Acquired'
+                except ComponentLookupError:
+                    pass
                 bound = acquiredOrNone
                                 
             availableServices.append(acquiredOrNone)