13547: Merge branch 'master' into 13547-respect-insecure-flag-when-talking-ssl-to...
[arvados.git] / sdk / python / arvados / commands / keepdocker.py
index 6097b5d949b985f4aaa08e969bb8c60a40ab3aff..fe6beab510915dd85b8b29b0c528fb59d9936569 100644 (file)
@@ -345,9 +345,10 @@ def _uuid2pdh(api, uuid):
         select=['portable_data_hash'],
     ).execute()['items'][0]['portable_data_hash']
 
-def main(arguments=None, stdout=sys.stdout):
+def main(arguments=None, stdout=sys.stdout, install_sig_handlers=True, api=None):
     args = arg_parser.parse_args(arguments)
-    api = arvados.api('v1')
+    if api is None:
+        api = arvados.api('v1')
 
     if args.image is None or args.image == 'images':
         fmt = "{:30}  {:10}  {:12}  {:29}  {:20}\n"
@@ -422,11 +423,8 @@ def main(arguments=None, stdout=sys.stdout):
             # Check if this image is already in Arvados.
 
             # Project where everything should be owned
-            if args.project_uuid:
-                parent_project_uuid = args.project_uuid
-            else:
-                parent_project_uuid = api.users().current().execute(
-                    num_retries=args.retries)['uuid']
+            parent_project_uuid = args.project_uuid or api.users().current().execute(
+                num_retries=args.retries)['uuid']
 
             # Find image hash tags
             existing_links = _get_docker_links(
@@ -493,7 +491,8 @@ def main(arguments=None, stdout=sys.stdout):
             put_args += ['--name', collection_name]
 
         coll_uuid = arv_put.main(
-            put_args + ['--filename', outfile_name, image_file.name], stdout=stdout).strip()
+            put_args + ['--filename', outfile_name, image_file.name], stdout=stdout,
+            install_sig_handlers=install_sig_handlers).strip()
 
         # Read the image metadata and make Arvados links from it.
         image_file.seek(0)