Warning

This document is for an old release 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