From 5e8cbcd5b4e39809fe0f83547ecf062d6d01c6eb Mon Sep 17 00:00:00 2001 From: mvdbeek Date: Wed, 20 Mar 2019 11:14:56 +0100 Subject: [PATCH] Allow connecting ExpressionTool outputs to inputs of correct type This means we can now connect these tools in the workflow editor. --- lib/galaxy/workflow/modules.py | 4 ++++ test/unit/workflows/test_modules.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/workflow/modules.py b/lib/galaxy/workflow/modules.py index 06e02a0678b..ba5edbd20ea 100644 --- a/lib/galaxy/workflow/modules.py +++ b/lib/galaxy/workflow/modules.py @@ -45,6 +45,7 @@ from galaxy.tools.parameters.basic import ( ) from galaxy.tools.parameters.history_query import HistoryQuery from galaxy.tools.parameters.wrapped import make_dict_copy +from galaxy.tools.parser.output_objects import ToolExpressionOutput from galaxy.util.bunch import Bunch from galaxy.util.json import safe_loads from galaxy.util.odict import odict @@ -937,6 +938,8 @@ class ToolModule(WorkflowModule): if filter_output(tool_output, self.state.inputs): continue extra_kwds = {} + if isinstance(tool_output, ToolExpressionOutput): + extra_kwds['parameter'] = True if tool_output.collection: extra_kwds["collection"] = True collection_type = tool_output.structure.collection_type @@ -973,6 +976,7 @@ class ToolModule(WorkflowModule): dict( name=name, extensions=formats, + type=tool_output.output_type, **extra_kwds ) ) diff --git a/test/unit/workflows/test_modules.py b/test/unit/workflows/test_modules.py index 921596b8d9f..4ad43a127f2 100644 --- a/test/unit/workflows/test_modules.py +++ b/test/unit/workflows/test_modules.py @@ -452,7 +452,8 @@ def __mock_tool( format_source=None, change_format=[], filters=[], - label=None)}, + label=None, + output_type='data')}, params_from_strings=mock.Mock(), check_and_update_param_values=mock.Mock(), to_json=_to_json