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],
).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):
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()
'name':'pgp-survey-response',
'properties': { 'value': trait_value }
}
- arvados.service.links().create(
+ arvados.api('v1').links().create(
body=trait_link
).execute()
out.write(",\n")