Mercurial > repos > eric-rasche > apollo
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) |