[Checkins] SVN: grokcore.registries/trunk/src/grokcore/registries/ make the registry a utility by default

Christian Klinger cvs-admin at zope.org
Mon Aug 13 14:07:49 UTC 2012


Log message for revision 127503:
  make the registry a utility by default

Changed:
  U   grokcore.registries/trunk/src/grokcore/registries/components.py
  U   grokcore.registries/trunk/src/grokcore/registries/ftests/registries/utils.py

-=-
Modified: grokcore.registries/trunk/src/grokcore/registries/components.py
===================================================================
--- grokcore.registries/trunk/src/grokcore/registries/components.py	2012-08-13 08:02:26 UTC (rev 127502)
+++ grokcore.registries/trunk/src/grokcore/registries/components.py	2012-08-13 14:07:45 UTC (rev 127503)
@@ -19,6 +19,7 @@
 
 """
 
+from grokcore.component.util import provideUtility
 from grokcore.registries.utils import query_registry, contextualSiteManager
 from zope.component.globalregistry import GlobalAdapterRegistry
 from zope.component.interfaces import IComponents, IComponentLookup
@@ -27,9 +28,6 @@
 from zope.location import Location
 
 
-registries = {}
-
-
 class BaseComponents(Location, Components):
     implements(IComponentLookup)
 
@@ -54,7 +52,5 @@
         parent = contextualSiteManager()
     registry = BaseComponents(parent, name, bases)
     directlyProvides(registry, IComponents)
-    if name in registries.keys():
-        RuntimeError('Duplicated key for registry %r found.' % name)
-    registries[name] = registry
+    provideUtility(registry, provides=IComponents, name=name)
     return registry

Modified: grokcore.registries/trunk/src/grokcore/registries/ftests/registries/utils.py
===================================================================
--- grokcore.registries/trunk/src/grokcore/registries/ftests/registries/utils.py	2012-08-13 08:02:26 UTC (rev 127502)
+++ grokcore.registries/trunk/src/grokcore/registries/ftests/registries/utils.py	2012-08-13 14:07:45 UTC (rev 127503)
@@ -1,9 +1,11 @@
 """
-  >>> from grokcore.registries.components import registries
   >>> from pprint import pprint
-  >>> pprint(registries)
-  {'chained_registry': <BaseComponents chained_registry>,
-   'my_registry': <BaseComponents my_registry>,
-   'specialRegistry': <BaseComponents specialRegistry>}
+  >>> from zope.component import getUtilitiesFor
+  >>> from zope.component.interfaces import IComponents
 
+  >>> registries = getUtilitiesFor(IComponents)
+  >>> pprint([x for x in registries])
+  [(u'chained_registry', <BaseComponents chained_registry>),
+   (u'specialRegistry', <BaseComponents specialRegistry>),
+   (u'my_registry', <BaseComponents my_registry>)]
 """
\ No newline at end of file



More information about the checkins mailing list