[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