doubler2: ("out", "in") }, } return graph if __name__ == '__main__': quadrupler = pypes.component.HigherOrderComponent( quadrupler_network_factory()) quadrupler.__metatype__ = "ADAPTER" printer = Printer() doubler = Doubler() doubler.__metatype__ = "ADAPTER" network = { quadrupler: { printer: ("out", "in"), }, } #network = { #doubler: { #printer: ("out", "in"), #}, #} from pypes.pipeline import Dataflow pipeline = Dataflow(network) for number in range(1, 5): pipeline.send(number) pipeline.close()
from pypes.filters import ConsoleOutputWriter class HelloWorld(Component): __metatype__ = 'ADAPTER' def __init__(self): Component.__init__(self) def run(self): while True: for data in self.receive_all('in'): message = 'Hello %s' % data self.send('out', message) self.yield_ctrl() hello = HelloWorld() # our custom component printer = ConsoleOutputWriter() # writes to console (STDOUT) Network = { hello: {printer:('out','in')} } if __name__ == '__main__': # create a new data flow p = Dataflow(Network) # send some data through the data flow for name in ['Tom', 'Dick', 'Harry']: p.send(name) # shut down the data flow p.close()