details:
http://www.bx.psu.edu/hg/galaxy/rev/200091ad2b6d
changeset: 3301:200091ad2b6d
user: James Taylor <james(a)jamestaylor.org>
date: Thu Jan 28 16:41:15 2010 -0500
description:
Workflow: deal with case where an input parameter that was connected has been removed
diffstat:
lib/galaxy/web/controllers/workflow.py | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diffs (25 lines):
diff -r 2772ab12e361 -r 200091ad2b6d lib/galaxy/web/controllers/workflow.py
--- a/lib/galaxy/web/controllers/workflow.py Thu Jan 28 15:54:46 2010 -0500
+++ b/lib/galaxy/web/controllers/workflow.py Thu Jan 28 16:41:15 2010 -0500
@@ -491,8 +491,20 @@
'form_html': module.get_config_form(),
}
# Connections
+ input_connections = step.input_connections
+ if step.type is None or step.type == 'tool':
+ # Determine full (prefixed) names of valid input datasets
+ data_input_names = {}
+ def callback( input, value, prefixed_name, prefixed_label ):
+ if isinstance( input, DataToolParameter ):
+ data_input_names[ prefixed_name ] = True
+ visit_input_values( module.tool.inputs, module.state.inputs, callback )
+ # Filter
+ # FIXME: this removes connection without displaying a message currently!
+ input_connections = [ conn for conn in input_connections if
conn.input_name in data_input_names ]
+ # Encode input connections as dictionary
input_conn_dict = {}
- for conn in step.input_connections:
+ for conn in input_connections:
input_conn_dict[ conn.input_name ] = \
dict( id=conn.output_step.order_index, output_name=conn.output_name
)
step_dict['input_connections'] = input_conn_dict