def setconsumer(keywords, consumer): |
""" create a consumer for a set of keywords """ |
|
if isinstance(keywords, str): |
keywords = tuple(map(None, keywords.split())) |
elif hasattr(keywords, 'keywords'): |
keywords = keywords.keywords |
elif not isinstance(keywords, tuple): |
raise TypeError("key %r is not a string or tuple" % (keywords,)) |
if consumer is not None and not callable(consumer): |
if not hasattr(consumer, 'write'): |
raise TypeError("%r should be None, callable or file-like" % (consumer,)) |
consumer = File(consumer) |
py.log.Producer(keywords).set_consumer(consumer) |