1 new changeset in galaxy-central: http://bitbucket.org/galaxy/galaxy-central/changeset/ea364eb4375f/ changeset: r4973:ea364eb4375f user: dannon date: 2011-02-01 19:35:46 summary: workflows: When running a workflow, filter possible values for Input Dataset steps to datatypes that are valid for next connected steps, instead of just using 'data'. affected #: 2 files (528 bytes) --- a/lib/galaxy/workflow/modules.py Tue Feb 01 13:32:02 2011 -0500 +++ b/lib/galaxy/workflow/modules.py Tue Feb 01 13:35:46 2011 -0500 @@ -129,9 +129,9 @@ def update_state( self, incoming ): self.state['name'] = incoming.get( 'name', 'Input Dataset' ) - def get_runtime_inputs( self ): + def get_runtime_inputs( self, filter_set=['data'] ): label = self.state.get( "name", "Input Dataset" ) - return dict( input=DataToolParameter( None, Element( "param", name="input", label=label, type="data", format="data" ) ) ) + return dict( input=DataToolParameter( None, Element( "param", name="input", label=label, type="data", format=', '.join(filter_set) ) ) ) def get_runtime_state( self ): state = DefaultToolState() state.inputs = dict( input=None ) --- a/templates/workflow/run.mako Tue Feb 01 13:32:02 2011 -0500 +++ b/templates/workflow/run.mako Tue Feb 01 13:35:46 2011 -0500 @@ -315,7 +315,17 @@ % endif </div><div class="toolFormBody"> - ${do_inputs( module.get_runtime_inputs(), step.state.inputs, errors.get( step.id, dict() ), "", step )} + <% + # Filter possible inputs to data types that are valid for subsequent steps + type_filter = [] + for oc in step.output_connections: + for ic in oc.input_step.module.get_data_inputs(): + if 'extensions' in ic and ic['name'] == oc.input_name: + type_filter += ic['extensions'] + if not type_filter: + type_filter = ['data'] + %> + ${do_inputs( module.get_runtime_inputs(type_filter), step.state.inputs, errors.get( step.id, dict() ), "", step )} </div></div> %endif Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.