def evaluate()

in pythonflow/operations.py [0:0]


    def evaluate(self, context, callback=None):
        # Evaluate all dependencies first
        callback = callback or _noop_callback
        self.evaluate_dependencies(context, callback=callback)

        operation, except_, finally_ = self.args
        with callback(self, context):
            try:
                value = self.evaluate_operation(operation, context, callback=callback)
                context[self] = value
                return value
            except:  # noqa: E722
                # Check the exceptions
                _, ex, _ = sys.exc_info()
                for type_, alternative in except_:
                    if isinstance(ex, type_):
                        value = self.evaluate_operation(alternative, context, callback=callback)
                        context[self] = value
                        return value
                raise
            finally:
                if finally_:
                    self.evaluate_operation(finally_, context)