#!/usr/bin/env python

import argparse
import hashlib
import os
import re
import string
import sys
import logging

logger = logging.getLogger(os.path.basename(sys.argv[0]))

parser = argparse.ArgumentParser(
    description='List contents of a manifest')

parser.add_argument('locator', type=str,
                    help="""
Collection locator
""")

parser.add_argument('-s', action='store_true', help="""List file sizes, in KiB.""")

args = parser.parse_args()

import arvados

cr = arvados.CollectionReader(arvados.Keep.get(args.locator))

for f in cr.all_files():
    if args.s:
        print "{:>10} {}".format(f.size() / 1024, f.stream_name() + "/" + f.name())
    else:
        print f.stream_name() + "/" + f.name()