From 8f393c880609872c12bfb45a043fecdff4c8073f Mon Sep 17 00:00:00 2001 From: Karamaz0V1 Date: Wed, 4 Apr 2018 11:16:35 +0200 Subject: [PATCH] Core seems ok --- ld2dap/Filter.py | 3 ++- ld2dap/Input.py | 4 ++-- ld2dap/Node.py | 2 +- ld2dap/Output.py | 5 +++++ ld2dap/test.py | 9 +++++++-- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ld2dap/Filter.py b/ld2dap/Filter.py index fa21c66..9f1bde2 100644 --- a/ld2dap/Filter.py +++ b/ld2dap/Filter.py @@ -11,6 +11,7 @@ from Input import Input from Output import Output -class Filter(Input, Output): +class Filter(Output, Input): + """Output should be first""" def __init__(self): super().__init__('Filter') diff --git a/ld2dap/Input.py b/ld2dap/Input.py index e3cf792..3070193 100644 --- a/ld2dap/Input.py +++ b/ld2dap/Input.py @@ -18,5 +18,5 @@ class Input(Node): def register(self, output): self.outputs.append(output) - def run(self): - print('IMA INPUT N I RUNIN') + def _run(self): + print('I RUN ADSAOADIQJOWDOASJDOQIJWDOIJQOWIDJO') diff --git a/ld2dap/Node.py b/ld2dap/Node.py index 4ccad9f..4ef972c 100644 --- a/ld2dap/Node.py +++ b/ld2dap/Node.py @@ -17,7 +17,7 @@ class Node: return ("Node:{}".format(self.name)) def _run(self): - raise NotImplementedError('This method is virtual') + raise NotImplementedError('{} should override _run()'.format(self)) def run(self): return self._run() diff --git a/ld2dap/Output.py b/ld2dap/Output.py index bd2b5cc..76826c5 100644 --- a/ld2dap/Output.py +++ b/ld2dap/Output.py @@ -34,4 +34,9 @@ class Output(Node): 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 d8643ea..498ff7b 100644 --- a/ld2dap/test.py +++ b/ld2dap/test.py @@ -11,17 +11,22 @@ from Node import Node from Filter import Filter from Input import Input +from Output import Output def main(): + i = Input() + o = Output() n = Filter() f = Filter() print(n) - n.run() + #n.run() print(n.input) + f.input = i n.input = f + o.input = n + o.run() print(n.input) print(f.outputs) - f.process(None) if __name__ == '__main__': main()