X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/84bcaa194dd2dd767aea291cdc17e85cd802325a..9bc524ae6d516f1be41cc8a7c6a76a96bbd9578c:/sdk/cwl/arvados_cwl/arvworkflow.py diff --git a/sdk/cwl/arvados_cwl/arvworkflow.py b/sdk/cwl/arvados_cwl/arvworkflow.py index ab3940998b..ab8ad035fd 100644 --- a/sdk/cwl/arvados_cwl/arvworkflow.py +++ b/sdk/cwl/arvados_cwl/arvworkflow.py @@ -6,7 +6,7 @@ import logging from cwltool.pack import pack from cwltool.load_tool import fetch_document from cwltool.process import shortname -from cwltool.workflow import Workflow +from cwltool.workflow import Workflow, WorkflowException from cwltool.pathmapper import adjustFileObjs, adjustDirObjs import ruamel.yaml as yaml @@ -83,8 +83,10 @@ class ArvadosWorkflow(Workflow): def keepmount(obj): if obj["location"].startswith("keep:"): obj["location"] = "/keep/" + obj["location"][5:] + elif obj["location"].startswith("_:"): + pass else: - raise Exception("Uh oh %s" % obj["location"]) + raise WorkflowException("Location is not a keep reference or a literal: '%s'" % obj["location"]) if "listing" in obj: del obj["listing"] adjustFileObjs(joborder_keepmount, keepmount) @@ -106,12 +108,12 @@ class ArvadosWorkflow(Workflow): "entryname": "workflow.cwl", "entry": yaml.safe_dump(packed).replace("\\", "\\\\").replace('$(', '\$(').replace('${', '\${') }, { - "entryname": "cwl.input.json", + "entryname": "cwl.input.yml", "entry": yaml.safe_dump(joborder_keepmount).replace("\\", "\\\\").replace('$(', '\$(').replace('${', '\${') }] }], "hints": workflowobj["hints"], - "arguments": ["--no-container", "--move-outputs", "workflow.cwl#main", "cwl.input.json"] + "arguments": ["--no-container", "--move-outputs", "workflow.cwl#main", "cwl.input.yml"] } kwargs["loader"] = self.doc_loader kwargs["avsc_names"] = self.doc_schema