From 03589784d8bc566305e1ea3473a8b37941147517 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Mon, 20 Mar 2017 10:02:16 -0400 Subject: [PATCH] 8567: arv-keepdocker catches EPIPE so it doesn't print backtrace when piped to other commands such as "head". --- sdk/python/arvados/commands/keepdocker.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sdk/python/arvados/commands/keepdocker.py b/sdk/python/arvados/commands/keepdocker.py index 660b45dbd6..5f29bf054b 100644 --- a/sdk/python/arvados/commands/keepdocker.py +++ b/sdk/python/arvados/commands/keepdocker.py @@ -345,8 +345,14 @@ def main(arguments=None, stdout=sys.stdout): if args.image is None or args.image == 'images': fmt = "{:30} {:10} {:12} {:29} {:20}\n" stdout.write(fmt.format("REPOSITORY", "TAG", "IMAGE ID", "COLLECTION", "CREATED")) - for i, j in list_images_in_arv(api, args.retries): - stdout.write(fmt.format(j["repo"], j["tag"], j["dockerhash"][0:12], i, j["timestamp"].strftime("%c"))) + try: + for i, j in list_images_in_arv(api, args.retries): + stdout.write(fmt.format(j["repo"], j["tag"], j["dockerhash"][0:12], i, j["timestamp"].strftime("%c"))) + except IOError as e: + if e.errno == errno.EPIPE: + pass + else: + raise sys.exit(0) # Pull the image if requested, unless the image is specified as a hash -- 2.39.5