# Look up the given user by uuid or, failing that, email address.
begin
- user = arv.user.get(uuid: user_arg)
+ found_user = arv.user.get(uuid: user_arg)
rescue Arvados::TransactionFailedError
found = arv.user.list(where: {email: ARGV[0]})[:items]
-
+
if found.count == 0
if !user_arg.match(/\w\@\w+\.\w+/)
abort "About to create new user, but #{user_arg.inspect} " +
"does not look like an email address. Stop."
end
-
- user = arv.user.setup(repo_name: user_repo_name, vm_uuid: vm_uuid,
- user: {email: user_arg})
- log.info { "created user: " + user[:uuid] }
elsif found.count != 1
abort "Found #{found.count} users " +
- "with uuid or email #{user_arg.inspect}. Stop."
+ "with uuid or email #{user_arg.inspect}. Stop."
else
- user = found.first
- # Found user. Update the user links
- user = arv.user.setup(user: {email: user[:uuid]}, repo_name: user_repo_name,
- vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix)
+ found_user = found.first
end
+end
- puts "USER = #{user.inspect}"
- log.info { "user uuid: " + user[:uuid] }
+# Invoke user setup method
+if (found_user)
+ user = arv.user.setup uuid: found_user[:uuid], repo_name: user_repo_name,
+ vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix
+else
+ user = arv.user.setup user: {email: user_arg}, repo_name: user_repo_name,
+ vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix
end
+
+log.info {"user uuid: " + user[:uuid]}
+
+puts user.inspect