diff env/lib/python3.9/site-packages/planemo/engine/cwltool.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/planemo/engine/cwltool.py	Mon Mar 22 18:12:50 2021 +0000
@@ -0,0 +1,24 @@
+"""Module contianing the :class:`CwlToolEngine` implementation of :class:`Engine`."""
+
+from planemo import cwl
+from planemo.runnable import RunnableType
+from .interface import BaseEngine
+
+
+class CwlToolEngine(BaseEngine):
+    """An :class:`Engine` implementation backed by cwltool.
+
+    More information on cwltool can be found at https://github.com/common-workflow-language/cwltool.
+    """
+
+    handled_runnable_types = [RunnableType.cwl_tool, RunnableType.cwl_workflow]
+
+    def _run(self, runnable, job_path):
+        """Run CWL job using cwltool."""
+        path = runnable.path
+        return cwl.run_cwltool(self._ctx, path, job_path, **self._kwds)
+
+
+__all__ = (
+    "CwlToolEngine",
+)