From bb997fe0197ef6be80d95b4f2e9d44ea9d99c5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20Trma=C4=8D?= Date: Sat, 4 Mar 2017 08:21:36 +0100 Subject: [PATCH] Allow returning raw bytes from RegistryInspect.get_manifest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > Traceback (most recent call last): > File "./atomic", line 189, in > sys.exit(_func()) > File "/home/mitr/t/atomic/Atomic/sign.py", line 85, in sign > manifest_file.write(manifest) > TypeError: argument 1 must be string or buffer, not dict Add a return_json parameter just like util.skopeo_inspect. Alternatively it may well make sense to inline the return_json=True variant into .remote_id(), and have .get_manifest() always return the raw bytes. Signed-off-by: Miloslav Trmač Closes: #930 Approved by: rhatdan --- Atomic/discovery.py | 4 ++-- Atomic/sign.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Atomic/discovery.py b/Atomic/discovery.py index 1267b73..3bba386 100644 --- a/Atomic/discovery.py +++ b/Atomic/discovery.py @@ -37,9 +37,9 @@ class RegistryInspect(): inspect_data['Name'] = self.assemble_fqdn(include_tag=False) return inspect_data - def get_manifest(self): + def get_manifest(self, return_json=True): assert(self.fqdn is not None) - return util.skopeo_inspect("docker://{}".format(self.fqdn), return_json=True, args=['--raw']) + return util.skopeo_inspect("docker://{}".format(self.fqdn), return_json=return_json, args=['--raw']) @property def remote_id(self): diff --git a/Atomic/sign.py b/Atomic/sign.py index 95b9bc7..26f264e 100644 --- a/Atomic/sign.py +++ b/Atomic/sign.py @@ -76,7 +76,7 @@ class Sign(Atomic): for sign_image in images: registry, repo, image, tag, _ = util.Decompose(sign_image).all ri = discovery.RegistryInspect(registry, repo, image, tag, debug=self.args.debug, orig_input=sign_image) - manifest = ri.get_manifest() + manifest = ri.get_manifest(return_json=False) try: