5 import arvados.collection
7 from cwltool.process import shortname
12 from arvados.api import OrderedJsonModel
14 api = arvados.api("v1")
17 job_order_object = arvados.current_job()['script_parameters']
19 print job_order_object
21 for k,v in job_order_object.items():
22 if arvados.util.keep_locator_pattern.match(v):
23 job_order_object[k] = "file://%s/%s" % (os.environ['TASK_KEEPMOUNT'], v)
25 runner = arvados_cwl.ArvCwlRunner(api_client=arvados.api('v1', model=OrderedJsonModel()))
27 t = cwltool.main.load_tool(job_order_object, False, True, runner.arvMakeTool, True)
29 outputObj = runner.arvExecutor(t, job_order_object, "", None)
31 c = arvados.collection.Collection()
32 with c.open("cwl.output.json", "w") as f:
33 json.dump(outputObj, f, indent=4)
35 api.job_tasks().update(uuid=arvados.current_task()['uuid'],
37 'output': c.save_new(create_collection_record=False),
41 except Exception as e:
42 logging.exception("Unhandled exception")
43 api.job_tasks().update(uuid=arvados.current_task()['uuid'],