diff --git a/beat/core/execution/base.py b/beat/core/execution/base.py index a8610f5b847cda7477de501dc1aae8deb3adbc4d..b5cbe56f4eeae3021f05ca790ce03a00ea00a759 100755 --- a/beat/core/execution/base.py +++ b/beat/core/execution/base.py @@ -187,16 +187,17 @@ class BaseExecutor(object): if len(self.data['inputs']) != len(self.algorithm.input_map): self.errors.append("The number of inputs of the algorithm doesn't correspond") - if len(self.data['outputs']) != len(self.algorithm.output_map): + if self.data.has_key('outputs') and (len(self.data['outputs']) != len(self.algorithm.output_map)): self.errors.append("The number of outputs of the algorithm doesn't correspond") for name in self.data['inputs'].keys(): if name not in self.algorithm.input_map.keys(): self.errors.append("The input '%s' doesn't exist in the algorithm" % name) - for name in self.data['outputs'].keys(): - if name not in self.algorithm.output_map.keys(): - self.errors.append("The output '%s' doesn't exist in the algorithm" % name) + if self.data.has_key('outputs'): + for name in self.data['outputs'].keys(): + if name not in self.algorithm.output_map.keys(): + self.errors.append("The output '%s' doesn't exist in the algorithm" % name) if self.errors: return