1 from cwltool.draft2tool import CommandLineTool
2 from .arvjob import ArvadosJob
3 from .arvcontainer import ArvadosContainer
4 from .pathmapper import ArvPathMapper
6 class ArvadosCommandTool(CommandLineTool):
7 """Wrap cwltool CommandLineTool to override selected methods."""
9 def __init__(self, arvrunner, toolpath_object, **kwargs):
10 super(ArvadosCommandTool, self).__init__(toolpath_object, **kwargs)
11 self.arvrunner = arvrunner
12 self.work_api = kwargs["work_api"]
14 def makeJobRunner(self):
15 if self.work_api == "containers":
16 return ArvadosContainer(self.arvrunner)
17 elif self.work_api == "jobs":
18 return ArvadosJob(self.arvrunner)
20 def makePathMapper(self, reffiles, **kwargs):
21 if self.work_api == "containers":
22 return ArvPathMapper(self.arvrunner, reffiles, kwargs["basedir"],
26 elif self.work_api == "jobs":
27 return ArvPathMapper(self.arvrunner, reffiles, kwargs["basedir"],