Skip to content

Commit

Permalink
Merge pull request #5172 from jmchilton/1705_subworkflow_collection_o…
Browse files Browse the repository at this point in the history
…utputs

[17.05] Provide UI collection output information for subworkflows.
  • Loading branch information
mvdbeek committed Jan 1, 2018
2 parents 86ab6fd + bb39b7d commit d1510c7
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions lib/galaxy/workflow/modules.py
Expand Up @@ -294,13 +294,29 @@ def get_data_outputs( self ):
for workflow_output in self.subworkflow.workflow_outputs:
output_step = workflow_output.workflow_step
label = workflow_output.label
if label is None:
label = "%s:%s" % (output_step.order_index, workflow_output.output_name)
target_output_name = workflow_output.output_name
if not label:
label = "%s:%s" % (output_step.order_index, target_output_name)
output_module = module_factory.from_workflow_step(self.trans, output_step)
data_outputs = output_module.get_data_outputs()
target_output = {}
for data_output in data_outputs:
if data_output["name"] == target_output_name:
target_output = data_output
output = dict(
name=label,
label=label,
extensions=['input'], # TODO
extensions=target_output.get('extensions', ['input']),
)
if target_output.get("collection"):
output["collection"] = True
output["collection_type"] = target_output["collection_type"]
# TODO: collection_type_source should be set here to be more percise/correct -
# but it can't be passed through as is since it would reference something
# the editor can't see. Since we fix input collection types to workflows
# the more correct thing to do would be to walk the subworkflow and
# determine the effective collection type if collection_type_source
# is set.
outputs.append(output)
return outputs

Expand Down

0 comments on commit d1510c7

Please sign in to comment.