SpiffWorkflow/bpmn/specs/BpmnProcessSpec.py
def get_specs_depth_first(self):
        """
        Get the specs for all processes (including called ones), in depth first
        order.
        """

        done = set()
        specs = [self]

        def recursive_find(task_spec):
            if task_spec in done:
                return

            done.add(task_spec)

            if hasattr(task_spec, 'spec'):
                specs.append(task_spec.spec)
                recursive_find(task_spec.spec.start)

            for t in task_spec.outputs:
                recursive_find(t)

        recursive_find(self.start)

        return specs
def get_specs_depth_first(self):
        """
        Get the specs for all processes (including called ones), in depth first
        order.
        """

        done = set()
        specs = [self]

        def recursive_find(task_spec):
            if task_spec in done:
                return

            done.add(task_spec)

            if hasattr(task_spec, 'spec'):
                specs.append(task_spec.spec)
                recursive_find(task_spec.spec.start)

            for t in task_spec.outputs:
                recursive_find(t)

        recursive_find(self.start)

        return specs
def get_specs_depth_first ( self ) : done = set ( ) specs = [ self ] def recursive_find ( task_spec ) : if task_spec in done : return done . add ( task_spec ) if hasattr ( task_spec , 'spec' ) : specs . append ( task_spec . spec ) recursive_find ( task_spec . spec . start ) for t in task_spec . outputs : recursive_find ( t ) recursive_find ( self . start ) return specs
Get the specs for all processes (including called ones), in depth first
        order.
Get the specs for all processes ( including called ones ) in depth first order .