comparison create_account.py @ 3:d4ae83dedb14 draft

planemo upload for repository https://github.com/TAMU-CPT/galaxy-webapollo commit 4ac38d0b6dba1183f3e78eb5c224c7051064b4a5
author eric-rasche
date Thu, 12 Jan 2017 11:52:28 -0500
parents 6002cc0df04e
children f9a6e151b3b4
comparison
equal deleted inserted replaced
2:c8e16c8eff98 3:d4ae83dedb14
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 import random 2 import random
3 import argparse 3 import argparse
4 import time 4 import time
5 from webapollo import WebApolloInstance, GroupObj 5 from webapollo import WAAuth, WebApolloInstance
6
6 7
7 def pwgen(length): 8 def pwgen(length):
8 chars = list('qwrtpsdfghjklzxcvbnm') 9 chars = list('qwrtpsdfghjklzxcvbnm')
9 return ''.join(random.choice(chars) for _ in range(length)) 10 return ''.join(random.choice(chars) for _ in range(length))
10 11
11 if __name__ == '__main__': 12 if __name__ == '__main__':
12 parser = argparse.ArgumentParser(description='Sample script to add an account via web services') 13 parser = argparse.ArgumentParser(description='Sample script to add an account via web services')
13 parser.add_argument('apollo', help='Complete Apollo URL') 14 WAAuth(parser)
14 parser.add_argument('username', help='WA Admin Username')
15 parser.add_argument('password', help='WA Admin Password')
16 15
17 parser.add_argument('email', help='User Email') 16 parser.add_argument('email', help='User Email')
18 parser.add_argument('--first', help='First Name', default='J') 17 parser.add_argument('--first', help='First Name', default='Jane')
19 parser.add_argument('--last', help='Last Name', default='Aggie') 18 parser.add_argument('--last', help='Last Name', default='Aggie')
20 args = parser.parse_args() 19 args = parser.parse_args()
21 20
22 wa = WebApolloInstance(args.apollo, args.username, args.password) 21 wa = WebApolloInstance(args.apollo, args.username, args.password)
23 22
24 password = pwgen(12) 23 password = pwgen(12)
25 wa.users.createUser(args.email, args.first, args.last, password, role='user')
26 time.sleep(1) 24 time.sleep(1)
27 user = [u for u in wa.users.loadUsers() 25 users = wa.users.loadUsers()
28 if u.username == args.email][0] 26 user = [u for u in users
27 if u.username == args.email]
29 28
30 bich464 = GroupObj(name="bich464-2016-spring") 29 if len(user) == 1:
30 # Update name, regen password if the user ran it again
31 userObj = user[0]
32 returnData = wa.users.updateUser(userObj, args.email, args.first, args.last, password)
33 print 'Updated User\nUsername: %s\nPassword: %s' % (args.email, password)
34 else:
35 returnData = wa.users.createUser(args.email, args.first, args.last, password, role='user')
36 print 'Created User\nUsername: %s\nPassword: %s' % (args.email, password)
31 37
32 # Update name, regen password if the user ran it again 38 print "Return data: " + str(returnData)
33 wa.users.updateUser(user, args.email, args.first, args.last, password)
34 # Add to bich464 group
35 wa.users.addUserToGroup(bich464, user)
36
37 print 'Username: %s\nPassword: %s' % (args.email, password)