[Checkins] SVN: grokcore.component/branches/sylvain-subscribers/ for purposes of symetry with getAdapter/getMultiAdapter have querySubscriptions and queryMultiSubscriptions
Jan-Wijbrand Kolman
janwijbrand at gmail.com
Mon Jan 31 05:52:33 EST 2011
Log message for revision 120017:
for purposes of symetry with getAdapter/getMultiAdapter have querySubscriptions and queryMultiSubscriptions
Changed:
U grokcore.component/branches/sylvain-subscribers/buildout.cfg
U grokcore.component/branches/sylvain-subscribers/src/grokcore/component/__init__.py
U grokcore.component/branches/sylvain-subscribers/src/grokcore/component/interfaces.py
U grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/decorator.py
U grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/multisubscribers.py
U grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/ordered_multisubscribers.py
U grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/ordered_subscribers.py
U grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/subscribers.py
U grokcore.component/branches/sylvain-subscribers/src/grokcore/component/util.py
-=-
Modified: grokcore.component/branches/sylvain-subscribers/buildout.cfg
===================================================================
--- grokcore.component/branches/sylvain-subscribers/buildout.cfg 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/buildout.cfg 2011-01-31 10:52:33 UTC (rev 120017)
@@ -17,4 +17,4 @@
recipe = zc.recipe.testrunner
eggs = grokcore.component
grokcore.component[test]
-defaults = ['--tests-pattern', '^f?tests$', '-v']
+defaults = ['--tests-pattern', '^f?tests$', '-v', '--auto-color']
Modified: grokcore.component/branches/sylvain-subscribers/src/grokcore/component/__init__.py
===================================================================
--- grokcore.component/branches/sylvain-subscribers/src/grokcore/component/__init__.py 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/src/grokcore/component/__init__.py 2011-01-31 10:52:33 UTC (rev 120017)
@@ -32,8 +32,9 @@
from grokcore.component.decorators import (
subscribe, adapter, implementer, provider)
-from grokcore.component.util import (
- querySubscribers, queryOrderedSubscribers)
+from grokcore.component.subscription import (
+ querySubscriptions, queryMultiSubscriptions,
+ queryOrderedSubscriptions, queryOrderedMultiSubscriptions)
# Import this module so that it's available as soon as you import the
# 'grokcore.component' package. Useful for tests and interpreter examples.
Modified: grokcore.component/branches/sylvain-subscribers/src/grokcore/component/interfaces.py
===================================================================
--- grokcore.component/branches/sylvain-subscribers/src/grokcore/component/interfaces.py 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/src/grokcore/component/interfaces.py 2011-01-31 10:52:33 UTC (rev 120017)
@@ -199,5 +199,9 @@
IGrokErrors, IMartianAPI):
"""grokcore.component's public API."""
- querySubscribers = Attribute("Function to query subscribers.")
- queryOrderedSubscribers = Attribute("Function to query and order subscribers.")
+ querySubscriptions = Attribute("Function to query subscriptions.")
+ queryOrderedSubscriptions = Attribute(
+ "Function to query subscription in order.")
+ queryMultiSubscriptions = Attribute("Function to query subscriptions.")
+ queryOrderedMultiSubscriptions = Attribute(
+ "Function to query subscriptions in order.")
Modified: grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/decorator.py
===================================================================
--- grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/decorator.py 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/decorator.py 2011-01-31 10:52:33 UTC (rev 120017)
@@ -3,7 +3,7 @@
>>> cave = Cave('sweet home')
- >>> subscribers = grok.querySubscribers((cave,), IActivity)
+ >>> subscribers = grok.querySubscriptions(cave, IActivity)
>>> subscribers
[<grokcore.component.tests.subscriber.decorator.DebuggingGrokcore object at ...>]
Modified: grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/multisubscribers.py
===================================================================
--- grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/multisubscribers.py 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/multisubscribers.py 2011-01-31 10:52:33 UTC (rev 120017)
@@ -8,7 +8,7 @@
all subscribers registered for office and cave (since office is a
base class of cave):
- >>> subscribers = grok.querySubscribers((cave, martijn), IActivity)
+ >>> subscribers = grok.queryMultiSubscriptions((cave, martijn), IActivity)
>>> subscribers
[<grokcore.component.tests.subscriber.multisubscribers.Sleep object at ...>,
<grokcore.component.tests.subscriber.multisubscribers.Food object at ...>,
@@ -24,7 +24,8 @@
registered for office:
>>> office = Office('Grok corp(r)(tm) headquarters')
- >>> office_subscribers = grok.querySubscribers((office, martijn), IActivity)
+ >>> office_subscribers = grok.queryMultiSubscriptions(
+ ... (office, martijn), IActivity)
>>> office_subscribers
[<grokcore.component.tests.subscriber.multisubscribers.Sleep object at ...>]
Modified: grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/ordered_multisubscribers.py
===================================================================
--- grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/ordered_multisubscribers.py 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/ordered_multisubscribers.py 2011-01-31 10:52:33 UTC (rev 120017)
@@ -7,7 +7,8 @@
You can query a subscribers using multiple components and sort them
using `grok.order` information:
- >>> ordered_subscribers = grok.queryOrderedSubscribers((cave, martijn), IActivity)
+ >>> ordered_subscribers = grok.queryOrderedMultiSubscriptions(
+ ... (cave, martijn), IActivity)
>>> ordered_subscribers
[<grokcore.component.tests.subscriber.ordered_multisubscribers.Cooking object at ...>,
<grokcore.component.tests.subscriber.ordered_multisubscribers.Gardening object at ...>,
@@ -20,7 +21,8 @@
Or choose not to:
- >>> subscribers = grok.querySubscribers((cave, martijn), IActivity)
+ >>> subscribers = grok.queryMultiSubscriptions(
+ ... (cave, martijn), IActivity)
(still need to sort them on class name in order to have a working doctest)
Modified: grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/ordered_subscribers.py
===================================================================
--- grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/ordered_subscribers.py 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/ordered_subscribers.py 2011-01-31 10:52:33 UTC (rev 120017)
@@ -6,7 +6,7 @@
You can query the subscribers and sort them with the information
provided by grok.order:
- >>> ordered_subscribers = grok.queryOrderedSubscribers((cave,), ICleaner)
+ >>> ordered_subscribers = grok.queryOrderedSubscriptions(cave, ICleaner)
>>> ordered_subscribers
[<grokcore.component.tests.subscriber.ordered_subscribers.MondayCleaner object at ...>,
<grokcore.component.tests.subscriber.ordered_subscribers.WednesdayCleaner object at ...>,
@@ -19,7 +19,7 @@
If you use the regular query method, they won't be sorted:
- >>> subscribers = grok.querySubscribers((cave,), ICleaner)
+ >>> subscribers = grok.querySubscriptions(cave, ICleaner)
>>> subscribers
[<grokcore.component.tests.subscriber.ordered_subscribers.MondayCleaner object at ...>,
<grokcore.component.tests.subscriber.ordered_subscribers.SaturdayCleaner object at ...>,
Modified: grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/subscribers.py
===================================================================
--- grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/subscribers.py 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/src/grokcore/component/tests/subscriber/subscribers.py 2011-01-31 10:52:33 UTC (rev 120017)
@@ -3,7 +3,7 @@
>>> cave = Cave('sweet home')
- >>> subscribers = grok.querySubscribers((cave,), ICleaner)
+ >>> subscribers = grok.querySubscriptions(cave, ICleaner)
>>> subscribers
[<grokcore.component.tests.subscriber.subscribers.MondayCleaner object at ...>,
<grokcore.component.tests.subscriber.subscribers.SaturdayCleaner object at ...>,
Modified: grokcore.component/branches/sylvain-subscribers/src/grokcore/component/util.py
===================================================================
--- grokcore.component/branches/sylvain-subscribers/src/grokcore/component/util.py 2011-01-31 10:34:53 UTC (rev 120016)
+++ grokcore.component/branches/sylvain-subscribers/src/grokcore/component/util.py 2011-01-31 10:52:33 UTC (rev 120017)
@@ -14,7 +14,6 @@
"""Grok utility functions.
"""
from grokcore.component import directive
-from zope import component
def _sort_key(component):
# If components have a grok.order directive, sort by that.
@@ -30,18 +29,3 @@
`grok.order`.
"""
return sorted(components, key=_sort_key)
-
-
-def queryOrderedSubscribers(components, interface):
- return sort_components(component.subscribers(components, interface))
-
-
-def querySubscribers(components, interface):
- """Query a list of subscribers on `component` which implements
- `interface`.
-
- :parameter components: list of components to look the subscribers for.
- :parameter interface: interface that the subscribers should provides.
- :return: a list of subscribers.
- """
- return component.subscribers(components, interface)
More information about the checkins
mailing list