[Checkins] SVN: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py added registration code for Zope 2.9+

Andreas Jung andreas at andreas-jung.com
Tue Mar 27 07:49:19 EDT 2007


Log message for revision 73716:
  added registration code for Zope 2.9+
  

Changed:
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py

-=-
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py	2007-03-27 11:40:36 UTC (rev 73715)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/util.py	2007-03-27 11:49:19 UTC (rev 73716)
@@ -14,7 +14,7 @@
 
 from sqlalchemy.engine.url import make_url
 
-from zope.component import getService, getGlobalServices, getUtilitiesFor 
+from zope.component import getService, getGlobalServices, getUtilitiesFor, provideUtility 
 from zope.component.utility import GlobalUtilityService
 from zope.component.interfaces import IUtilityService
 from zope.component.servicenames import Utilities 
@@ -47,14 +47,19 @@
     """ register a SQLAlchemyWrapper as named utility """
 
     # Bootstrap utility service
-    sm = getGlobalServices()
-    sm.defineService(Utilities, IUtilityService)
-    sm.provideService(Utilities, GlobalUtilityService())
+    try:
+        # Zope 2.8
+        sm = getGlobalServices()
+        sm.defineService(Utilities, IUtilityService)
+        sm.provideService(Utilities, GlobalUtilityService())
 
-    # register wrapper 
-    utilityService = getService(Utilities)
-    utilityService.provideUtility(ISQLAlchemyWrapper, wrapper, name)
+        # register wrapper 
+        utilityService = getService(Utilities)
+        utilityService.provideUtility(ISQLAlchemyWrapper, wrapper, name)
 
+    except NotImplementedError:
+        # Zope 2.9+
+        provideUtility(wrapper, name=name)
 
 def allRegisteredSQLAlchemyWrappers():
     """ return a dict containing information for all



More information about the Checkins mailing list