From c48f0497e26388d935c02af1bcd2e8466e219d79 Mon Sep 17 00:00:00 2001 From: Karamaz0V1 Date: Wed, 4 Apr 2018 14:44:35 +0200 Subject: [PATCH] Node streaming complete --- ld2dap/core/Input.py | 9 +++++++++ ld2dap/core/Node.py | 6 ++++++ ld2dap/core/Output.py | 8 -------- ld2dap/test.py | 1 + 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ld2dap/core/Input.py b/ld2dap/core/Input.py index 7475067..0cda81d 100644 --- a/ld2dap/core/Input.py +++ b/ld2dap/core/Input.py @@ -17,3 +17,12 @@ class Input(Node): def register(self, output): self.outputs.append(output) + + def process(self, data, metadata=None): + """Override abstract method""" + data, meta = self._process(data, metadata) + for output in self.outputs: + output.process(data, meta) + + def _run(self): + self.process(None, None) diff --git a/ld2dap/core/Node.py b/ld2dap/core/Node.py index 4ef972c..6508dda 100644 --- a/ld2dap/core/Node.py +++ b/ld2dap/core/Node.py @@ -16,6 +16,12 @@ class Node: def __str__(self): return ("Node:{}".format(self.name)) + def process(self, data, metadata=None): + self._process(data) + + def _process(self, data, metadata=None): + raise NotImplementedError('{} should override _process()'.format(self)) + def _run(self): raise NotImplementedError('{} should override _run()'.format(self)) diff --git a/ld2dap/core/Output.py b/ld2dap/core/Output.py index dbd6df3..c2abe02 100644 --- a/ld2dap/core/Output.py +++ b/ld2dap/core/Output.py @@ -29,15 +29,7 @@ class Output(Node): self.__dict__['input'] = inode inode.register(self) - def process(self, data): - self._process(data) - - def _process(self, data): - raise NotImplementedError('{} should override _process()'.format(self)) - def _run(self): if self.input is None: raise RuntimeError('{} do not have an input'.format(self)) return self.input.run() - - diff --git a/ld2dap/test.py b/ld2dap/test.py index 0d70d47..21065cd 100644 --- a/ld2dap/test.py +++ b/ld2dap/test.py @@ -22,6 +22,7 @@ def main(): n.input = f o.input = n o.run() + #i.process(None) print(n.input) print(f.outputs)