Warning

This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.tool_util.cwl.runnable

"""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


[docs]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]
[docs]class CwlWorkflowOutput:
[docs] def __init__(self, label): self._label = label
[docs] def get_id(self): return self._label
[docs]class ToolOutput:
[docs] def __init__(self, tool_output): self._tool_output = tool_output
[docs] def get_id(self): return self._tool_output.name