X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8e4ed0edeadc4dfcc85666ef5c36619815dca8e2..ed5230f0e823445f56e7d6940b6fb178e328718b:/sdk/python/arvados/commands/arv_copy.py diff --git a/sdk/python/arvados/commands/arv_copy.py b/sdk/python/arvados/commands/arv_copy.py index 54d9798e40..1d10b04272 100755 --- a/sdk/python/arvados/commands/arv_copy.py +++ b/sdk/python/arvados/commands/arv_copy.py @@ -32,6 +32,8 @@ import arvados.util import arvados.commands._util as arv_cmd import arvados.commands.keepdocker +from arvados.api import OrderedJsonModel + logger = logging.getLogger('arvados.arv-copy') # local_repo_dir records which git repositories from the Arvados source @@ -180,7 +182,8 @@ def api_for_instance(instance_name): client = arvados.api('v1', host=cfg['ARVADOS_API_HOST'], token=cfg['ARVADOS_API_TOKEN'], - insecure=api_is_insecure) + insecure=api_is_insecure, + model=OrderedJsonModel()) else: abort('need ARVADOS_API_HOST and ARVADOS_API_TOKEN for {}'.format(instance_name)) return client @@ -410,12 +413,10 @@ def create_collection_from(c, src, dst, args): for link_class in ("docker_image_repo+tag", "docker_image_hash"): docker_links = src.links().list(filters=[["head_uuid", "=", collection_uuid], ["link_class", "=", link_class]]).execute(num_retries=args.retries)['items'] - for d in docker_links: - body={ - 'head_uuid': dst_collection['uuid'], - 'link_class': link_class, - 'name': d['name'], - } + for src_link in docker_links: + body = {key: src_link[key] + for key in ['link_class', 'name', 'properties']} + body['head_uuid'] = dst_collection['uuid'] body['owner_uuid'] = args.project_uuid lk = dst.links().create(body=body).execute(num_retries=args.retries)