Update .licenseignore.
[arvados.git] / crunch_scripts / pgp-survey-import
index 811dd118729f1935e6310495687c9424724bc83c..f12e84b2da175b279aa3534e3dc2e4a3fbe2f348 100755 (executable)
@@ -1,4 +1,7 @@
 #!/usr/bin/env python
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
 
 import arvados
 import string
@@ -30,36 +33,36 @@ for input_file in arvados.CollectionReader(this_job_input).all_files():
         words = string.split(string.strip(line), "\t")
         if line_number == 0:
             headings = words
-            for t in arvados.service.traits().list(
-                where=json.dumps({'name':words}),
+            for t in arvados.api('v1').traits().list(
+                where={'name':words},
                 limit=1000
                 ).execute()['items']:
                 traits[t['name']] = t
             for i, trait_name in enumerate(words[3:], start=3):
                 # find or create trait
                 if trait_name not in traits:
-                    traits_match = arvados.service.traits().list(
-                        where=json.dumps({'name':trait_name})
+                    traits_match = arvados.api('v1').traits().list(
+                        where={'name':trait_name}
                         ).execute()['items']
                     if len(traits_match) > 0:
                         traits[trait_name] = traits_match[0]
                     else:
-                        traits[trait_name] = arvados.service.traits().create(
-                            trait=json.dumps({'name':trait_name})).execute()
+                        traits[trait_name] = arvados.api('v1').traits().create(
+                            trait={'name':trait_name}).execute()
                 out.write(separator)
                 out.write(json.dumps(traits[trait_name]))
                 separator = ",\n"
         else:
-            huID_links_match = arvados.service.links().list(
-                where=json.dumps({'link_class':'identifier','name':words[0]})
+            huID_links_match = arvados.api('v1').links().list(
+                where={'link_class':'identifier','name':words[0]}
                 ).execute()['items']
             if len(huID_links_match) > 0:
                 human_uuid = huID_links_match[0]['head_uuid']
             else:
-                human = arvados.service.humans().create(
+                human = arvados.api('v1').humans().create(
                     body={}
                     ).execute()
-                huID_link = arvados.service.links().create(
+                huID_link = arvados.api('v1').links().create(
                     body={
                         'link_class':'identifier',
                         'name':words[0],
@@ -69,15 +72,15 @@ for input_file in arvados.CollectionReader(this_job_input).all_files():
                     ).execute()
                 human_uuid = human['uuid']
             human_trait = {}
-            for t in arvados.service.links().list(
+            for t in arvados.api('v1').links().list(
                 limit=10000,
-                where=json.dumps({
+                where={
                     'tail_uuid':human_uuid,
                     'tail_kind':'arvados#human',
                     'head_kind':'arvados#trait',
                     'link_class':'human_trait',
                     'name':'pgp-survey-response'
-                    })
+                    }
                 ).execute()['items']:
                 human_trait[t['head_uuid']] = t
             for i, trait_value in enumerate(words[3:], start=3):
@@ -87,7 +90,7 @@ for input_file in arvados.CollectionReader(this_job_input).all_files():
                     if trait_link['properties']['value'] != trait_value:
                         # update database value to match survey response
                         trait_link['properties']['value'] = trait_value
-                        arvados.service.links().update(
+                        arvados.api('v1').links().update(
                             uuid=trait_link['uuid'],
                             body={'properties':trait_link['properties']}
                             ).execute()
@@ -106,7 +109,7 @@ for input_file in arvados.CollectionReader(this_job_input).all_files():
                         'name':'pgp-survey-response',
                         'properties': { 'value': trait_value }
                         }
-                    arvados.service.links().create(
+                    arvados.api('v1').links().create(
                         body=trait_link
                         ).execute()
                     out.write(",\n")