diff env/lib/python3.9/site-packages/galaxy/tool_util/cwl/runnable.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/env/lib/python3.9/site-packages/galaxy/tool_util/cwl/runnable.py	Mon Mar 22 18:12:50 2021 +0000
@@ -0,0 +1,34 @@
+"""Lighter-weight variant of Planemo runnable outputs."""
+from galaxy.tool_util.parser import get_tool_source
+from .parser import workflow_proxy
+from .util import guess_artifact_type
+
+
+def get_outputs(path):
+    tool_or_workflow = guess_artifact_type(path)
+    if tool_or_workflow == "tool":
+        tool_source = get_tool_source(path)
+        output_datasets, _ = tool_source.parse_outputs(None)
+        outputs = [ToolOutput(o) for o in output_datasets.values()]
+        return outputs
+    else:
+        workflow = workflow_proxy(path, strict_cwl_validation=False)
+        return [CwlWorkflowOutput(label) for label in workflow.output_labels]
+
+
+class CwlWorkflowOutput:
+
+    def __init__(self, label):
+        self._label = label
+
+    def get_id(self):
+        return self._label
+
+
+class ToolOutput:
+
+    def __init__(self, tool_output):
+        self._tool_output = tool_output
+
+    def get_id(self):
+        return self._tool_output.name