annotate create_container_hash.py @ 6:ea9d5fc4c001 draft default tip

"planemo upload commit 9ada186a78831ca2618ec817a23a77de6adf1a5d"
author rhpvorderman
date Wed, 22 Dec 2021 11:29:16 +0000
parents 495a521cf9f2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
1 #!/usr/bin/env python3
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
2
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
3 import sys
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
4
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
5 from xml.etree import ElementTree
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
6 from xml.etree.ElementTree import Element
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
7
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
8 DEFAULT_BASE_IMAGE = "bgruening/busybox-bash:0.1"
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
9 def main():
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
10 try:
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
11 base_image = sys.argv[1]
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
12 except IndexError:
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
13 base_image = DEFAULT_BASE_IMAGE
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
14 tool = ElementTree.parse("shm_csr.xml").getroot()
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
15 requirements: Element = tool.find("requirements")
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
16 packages = []
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
17 for req in requirements.findall("requirement"):
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
18 if req.get("type") == "package":
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
19 name = req.text
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
20 version = req.get("version")
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
21 package_string = f"{name}={version}"
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
22 packages.append(package_string)
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
23 with open("container_hash.tsv", mode="wt") as container_hash_file:
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
24 container_hash_file.write("#targets\tbase_image\timage_build\n")
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
25 container_hash_file.write(",".join(packages) + f"\t{base_image}\t0\n")
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
26
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
27
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
28 if __name__ == "__main__":
495a521cf9f2 "planemo upload commit 40d62ec3d2fea3c3bac605c976941e1f3b7e2cd4"
rhpvorderman
parents:
diff changeset
29 main()