[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