84 workflow = self.
_workflow.element(
'workflow')
87 num_actors = workflow.elements(
'actor')
93 for i
in range(num_actors):
96 actor = workflow.element(
'actor', i)
100 output_parameters = []
105 name = actor.attribute(
'name')
106 tool = actor.attribute(
'tool')
109 if actor.elements(
'input') > 0:
110 actor_inputs = actor.element(
'input')
111 num_inputs = actor_inputs.elements(
'parameter')
112 for k
in range(num_inputs):
113 input_par = actor_inputs.element(
'parameter', k)
114 input_name = input_par.attribute(
'name')
115 input_value = input_par.attribute(
'value')
116 input_actor = input_par.attribute(
'actor')
117 parameter = {
'name': input_name, \
118 'value': input_value, \
119 'actor': input_actor}
120 input_parameters.append(parameter)
121 if input_actor !=
'':
122 if input_actor
not in input_actors:
123 input_actors.append(input_actor)
126 if actor.elements(
'output') > 0:
127 actor_output = actor.element(
'output')
128 num_outputs = actor_output.elements(
'parameter')
129 for k
in range(num_outputs):
130 output_par = actor_output.element(
'parameter', k)
131 output_name = output_par.attribute(
'name')
132 output_value = output_par.attribute(
'value')
133 output_actor = output_par.attribute(
'actor')
134 parameter = {
'name': output_name, \
135 'value': output_value, \
136 'actor': output_actor}
137 output_parameters.append(parameter)
138 if output_actor !=
'':
139 if output_actor
not in output_actors:
140 output_actors.append(output_actor)
143 num_inputs = len(input_actors)
147 status =
'waiting for input'
152 entry = {
'name': name,
154 'input_parameters': input_parameters,
155 'input_actors': input_actors,
156 'output_parameters': output_parameters,
157 'output_actors': output_actors,
164 self._log_value(gammalib.NORMAL,
'Actor "%s"' % name, tool)
168 predecessors =
'none'
171 for k
in range(num_inputs):
174 predecessors +=
'"'+input_actors[k]+
'"'
177 self._log_value(gammalib.NORMAL,
178 gammalib.number(
' Predecessor', num_inputs),