[Zope3-checkins] CVS: Zope3/src/zope/app/browser/services/service - __init__.py:1.12

Richard Jones richard at commonground.com.au
Sat Feb 7 00:35:17 EST 2004


Update of /cvs-repository/Zope3/src/zope/app/browser/services/service
In directory cvs.zope.org:/tmp/cvs-serv20844/service

Modified Files:
	__init__.py 
Log Message:
Automatically register and activate all services when they're added.


=== Zope3/src/zope/app/browser/services/service/__init__.py 1.11 => 1.12 ===
--- Zope3/src/zope/app/browser/services/service/__init__.py:1.11	Fri Feb  6 23:23:50 2004
+++ Zope3/src/zope/app/browser/services/service/__init__.py	Sat Feb  7 00:35:08 2004
@@ -97,22 +97,17 @@
         for type_name, interface in sm.getServiceDefinitions():
             if interface.isImplementedBy(content):
                 implements.append(type_name)
-        
-        # more than one interface, punt to user to make choice
-        if len(implements) > 1:
-            return content
-
-        type_name = implements[0]
 
-        # register an activated service registration
         path = zapi.name(content)
         rm = content.__parent__.getRegistrationManager()
         chooser = zapi.getAdapter(rm, INameChooser)
-
-        sc = ServiceRegistration(type_name, path, content)
-        name = chooser.chooseName(type_name, sc)
-        rm[name] = sc
-        sc.status = ActiveStatus
+        
+        # register an activated service registration
+        for type_name in implements:
+            sc = ServiceRegistration(type_name, path, content)
+            name = chooser.chooseName(type_name, sc)
+            rm[name] = sc
+            sc.status = ActiveStatus
 
         return content
 




More information about the Zope3-Checkins mailing list