Skip to content

Commit fc5c06a

Browse files
committed
don't insert links from/to disabled steps nodes in workflow
1 parent d29e277 commit fc5c06a

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

capsul/pipeline/pipeline_workflow.py

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,23 +1121,26 @@ def build_iteration(it_node, step_name, temp_map,
11211121
sources = pipeline_tools.find_plug_connection_sources(
11221122
it_node.plugs[param], it_node)
11231123
for pnode, pparam, pparent in sources:
1124-
pproc = pnode
1125-
if hasattr(pnode, 'process'):
1126-
pproc = pnode.process
1127-
map_links.setdefault(param, []).append((pproc, pparam))
1124+
if pnode.enabled and pnode.activated:
1125+
pproc = pnode
1126+
if hasattr(pnode, 'process'):
1127+
pproc = pnode.process
1128+
map_links.setdefault(param, []).append((pproc,
1129+
pparam))
11281130
# record dest of links in iterated nodes
11291131
if isinstance(it_process.process, Pipeline):
11301132
dest = \
11311133
pipeline_tools.find_plug_connection_destinations(
11321134
it_process.process.pipeline_node.plugs[param],
11331135
it_process.process.pipeline_node)
11341136
for pnode, pparam, pparent in dest:
1135-
pproc = pnode
1136-
if hasattr(pnode, 'process'):
1137-
pproc = pnode.process
1138-
map_iter_links.setdefault(pproc, {}) \
1139-
.setdefault(pparam, []).append(
1140-
(map_job, param))
1137+
if pipeline_tools.is_node_enabled(
1138+
it_process.process, node=pnode):
1139+
if hasattr(pnode, 'process'):
1140+
pproc = pnode.process
1141+
map_iter_links.setdefault(pproc, {}) \
1142+
.setdefault(pparam, []).append(
1143+
(map_job, param))
11411144
else:
11421145
map_iter_links.setdefault(it_process.process, {}) \
11431146
.setdefault(param, []).append(
@@ -1147,11 +1150,12 @@ def build_iteration(it_node, step_name, temp_map,
11471150
dest = pipeline_tools.find_plug_connection_destinations(
11481151
it_node.plugs[param], it_node)
11491152
for pnode, pparam, pparent in dest:
1150-
pproc = pnode
1151-
if hasattr(pnode, 'process'):
1152-
pproc = pnode.process
1153-
links.setdefault(pproc, {}).setdefault(pparam, []) \
1154-
.append((reduce_job, param))
1153+
if pnode.enabled and pnode.activated:
1154+
pproc = pnode
1155+
if hasattr(pnode, 'process'):
1156+
pproc = pnode.process
1157+
links.setdefault(pproc, {}).setdefault(pparam, []) \
1158+
.append((reduce_job, param))
11551159
# record source of links in iterated nodes
11561160
if isinstance(it_process.process, Pipeline):
11571161
#print('reduce from pipeline', param)
@@ -1161,11 +1165,13 @@ def build_iteration(it_node, step_name, temp_map,
11611165
it_process.process.pipeline_node)
11621166
#print('sources:', sources)
11631167
for pnode, pparam, pparent in sources:
1164-
pproc = pnode
1165-
if hasattr(pnode, 'process'):
1166-
pproc = pnode.process
1167-
red_iter_links.setdefault(param, []).append(
1168-
(pproc, pparam))
1168+
if pipeline_tools.is_node_enabled(
1169+
it_process.process, node=pnode):
1170+
pproc = pnode
1171+
if hasattr(pnode, 'process'):
1172+
pproc = pnode.process
1173+
red_iter_links.setdefault(param, []).append(
1174+
(pproc, pparam))
11691175
else:
11701176
red_iter_links.setdefault(param, []).append(
11711177
(it_process.process, param))

0 commit comments

Comments
 (0)