X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/da939284a2a57dd046422b75a0c4700a5ff4f223..b402e6a66e569167c0e990a4fdfc2843df76afd8:/sdk/python/bin/arv-normalize diff --git a/sdk/python/bin/arv-normalize b/sdk/python/bin/arv-normalize index 0a0adbe6af..755b565072 100755 --- a/sdk/python/bin/arv-normalize +++ b/sdk/python/bin/arv-normalize @@ -11,7 +11,9 @@ import logging logger = logging.getLogger(os.path.basename(sys.argv[0])) parser = argparse.ArgumentParser( - description='Normalize contents of a manifest') + description='Read manifest on standard input and put normalized manifest on standard output.') + +parser.add_argument('--extract', type=str, help="The file to extract from the input manifest") args = parser.parse_args() @@ -21,4 +23,17 @@ r = sys.stdin.read() cr = arvados.CollectionReader(r) -print cr.manifest_text() +if args.extract: + i = args.extract.rfind('/') + if i == -1: + stream = '.' + fn = args.extract + else: + stream = args.extract[:i] + fn = args.extract[(i+1):] + for s in cr.all_streams(): + if s.name() == stream: + if fn in s.files(): + sys.stdout.write(s.files()[fn].as_manifest()) +else: + sys.stdout.write(cr.manifest_text())