Skip to content

Commit 21f6d16

Browse files
committed
cleanups
1 parent 20bdccc commit 21f6d16

File tree

3 files changed

+22
-19
lines changed

3 files changed

+22
-19
lines changed

cwl_utils/cite-extract.py

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def extract_software_reqs(process: cwl.Process):
2626
process.id, process.loadingOptions)
2727

2828

29-
def process_software_requirement(req: cwl.SoftwarePackage):
29+
def process_software_requirement(req: cwl.SoftwareRequirement):
3030
for package in req.packages:
3131
print("Package: {}, version: {}, specs: {}".format(
3232
package.package, package.version, package.specs))

cwl_utils/docker-extract.py

100644100755
Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77

88

99
def parse_args():
10-
parser = argparse.ArgumentParser(description='Tool to save docker images from a cwl workflow \n '
11-
'and generate udocker loading commands.')
10+
parser = argparse.ArgumentParser(
11+
description='Tool to save docker images from a cwl workflow \n '
12+
'and generate udocker loading commands.')
1213
parser.add_argument('dir', help='Directory in which to save images')
1314
parser.add_argument('input', help='Input CWL workflow')
1415
return parser.parse_args()
@@ -36,8 +37,17 @@ def load_docker_image(image_name):
3637

3738

3839
def save_docker_image(req, image_name, image_dir):
39-
cmd = ['docker', 'save', '-o', os.path.join(image_dir, image_name), req]
40-
subprocess.run(" ".join(cmd), shell=True, check=True)
40+
cmd_pull = ['docker', 'pull', req]
41+
try:
42+
subprocess.run(cmd_pull, check=True, stdout=subprocess.PIPE,
43+
stderr=subprocess.STDOUT)
44+
except subprocess.CalledProcessError as err:
45+
if err.output:
46+
raise subprocess.SubprocessError(err.output)
47+
raise err
48+
cmd_save = ['docker', 'save', '-o', os.path.join(image_dir, image_name),
49+
req]
50+
subprocess.run(cmd_save, check=True)
4151

4252

4353
def extract_docker_requirements(process: cwl.Process):
@@ -59,12 +69,6 @@ def extract_docker_reqs(process: cwl.Process):
5969
process.id, process.loadingOptions)
6070

6171

62-
def process_docker_requirement(req: cwl.SoftwarePackage):
63-
if ':' not in req.dockerPull:
64-
req.dockerPull += ':latest'
65-
return req.dockerPull
66-
67-
6872
def traverse(process: cwl.Process):
6973
yield from extract_docker_requirements(process)
7074
if isinstance(process, cwl.Workflow):

setup.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
from setuptools import setup, find_packages
22

33

4-
setup_requires = [
5-
'ruamel.yaml',
6-
'six',
7-
'requests',
8-
'cachecontrol',
9-
]
10-
114
setup(
125
name='cwl-utils',
136
version='0.1',
147
author='Common workflow language working group',
158
author_email='[email protected]',
169
packages=find_packages(),
1710
python_requires='>=3.6',
18-
setup_requires=setup_requires,
11+
install_requires=[
12+
'ruamel.yaml',
13+
'six',
14+
'requests',
15+
'schema_salad',
16+
'typing_extensions',
17+
],
1918
)

0 commit comments

Comments
 (0)