[py-svn] r17200 - in py/dist/py/log: . testing
hpk at codespeak.net
hpk at codespeak.net
Sun Sep 4 13:19:37 CEST 2005
Author: hpk
Date: Sun Sep 4 13:19:36 2005
New Revision: 17200
Modified:
py/dist/py/log/consumer.py
py/dist/py/log/producer.py
py/dist/py/log/testing/test_log.py
Log:
add a set_consumer() helper method on Producers
Modified: py/dist/py/log/consumer.py
==============================================================================
--- py/dist/py/log/consumer.py (original)
+++ py/dist/py/log/consumer.py Sun Sep 4 13:19:36 2005
@@ -34,5 +34,5 @@
if not hasattr(consumer, 'write'):
raise TypeError("%r should be None, callable or file-like" % (consumer,))
consumer = File(consumer)
- py.log.Producer.keywords2consumer[keywords] = consumer
+ py.log.Producer(keywords).set_consumer(consumer)
Modified: py/dist/py/log/producer.py
==============================================================================
--- py/dist/py/log/producer.py (original)
+++ py/dist/py/log/producer.py Sun Sep 4 13:19:36 2005
@@ -49,11 +49,11 @@
return producer
def __call__(self, *args):
- func = self._getconsumer(self.keywords)
+ func = self.get_consumer(self.keywords)
if func is not None:
func(self.Message(self.keywords, args))
- def _getconsumer(self, keywords):
+ def get_consumer(self, keywords):
for i in range(len(self.keywords), 0, -1):
try:
return self.keywords2consumer[self.keywords[:i]]
@@ -61,6 +61,9 @@
continue
return self.keywords2consumer.get('default', default_consumer)
+ def set_consumer(self, consumer):
+ self.keywords2consumer[self.keywords] = consumer
+
default = Producer('default')
def _getstate():
Modified: py/dist/py/log/testing/test_log.py
==============================================================================
--- py/dist/py/log/testing/test_log.py (original)
+++ py/dist/py/log/testing/test_log.py Sun Sep 4 13:19:36 2005
@@ -73,6 +73,14 @@
assert l
assert l[0].content() == "hello"
+ def test_simple_consumer_match_2(self):
+ l = []
+ p = py.log.Producer("x1 x2")
+ p.set_consumer(l.append)
+ p("42")
+ assert l
+ assert l[0].content() == "42"
+
def test_setconsumer_with_producer(self):
l = []
p = py.log.Producer("hello")
More information about the pytest-commit
mailing list