- upper() did yield instead of return
- metdadata was not repeated when zipping with results generator
- since test metadata was empty dict, target data was therefore empty always, since results were zipped with {}
- hence added check for target lengths > 0
- fixed return value of queued stream function dispatcher; only returned first item of 1 -> n results
17 lines
557 B
Python
17 lines
557 B
Python
from funcy import rcompose, flatten
|
|
|
|
|
|
# TODO: remove the dispatcher component from the pipeline; it no longer actually dispatches
|
|
class ClientPipeline:
|
|
def __init__(self, packer, dispatcher, receiver, interpreter):
|
|
self.pipe = rcompose(
|
|
packer,
|
|
dispatcher,
|
|
receiver,
|
|
interpreter,
|
|
flatten, # each analysis call returns an iterable. Can be empty, singleton or multi item. Hence, flatten.
|
|
)
|
|
|
|
def __call__(self, *args, **kwargs):
|
|
yield from self.pipe(*args, **kwargs)
|