diff 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
line wrap: on
line diff
--- a/create_account.py	Tue May 03 13:48:11 2016 -0400
+++ b/create_account.py	Thu Jan 12 11:52:28 2017 -0500
@@ -2,7 +2,8 @@
 import random
 import argparse
 import time
-from webapollo import WebApolloInstance, GroupObj
+from webapollo import WAAuth, WebApolloInstance
+
 
 def pwgen(length):
     chars = list('qwrtpsdfghjklzxcvbnm')
@@ -10,28 +11,28 @@
 
 if __name__ == '__main__':
     parser = argparse.ArgumentParser(description='Sample script to add an account via web services')
-    parser.add_argument('apollo', help='Complete Apollo URL')
-    parser.add_argument('username', help='WA Admin Username')
-    parser.add_argument('password', help='WA Admin Password')
+    WAAuth(parser)
 
     parser.add_argument('email', help='User Email')
-    parser.add_argument('--first', help='First Name', default='J')
+    parser.add_argument('--first', help='First Name', default='Jane')
     parser.add_argument('--last', help='Last Name', default='Aggie')
     args = parser.parse_args()
 
     wa = WebApolloInstance(args.apollo, args.username, args.password)
 
     password = pwgen(12)
-    wa.users.createUser(args.email, args.first, args.last, password, role='user')
     time.sleep(1)
-    user = [u for u in wa.users.loadUsers()
-            if u.username == args.email][0]
-
-    bich464 = GroupObj(name="bich464-2016-spring")
+    users = wa.users.loadUsers()
+    user = [u for u in users
+            if u.username == args.email]
 
-    # Update name, regen password if the user ran it again
-    wa.users.updateUser(user, args.email, args.first, args.last, password)
-    # Add to bich464 group
-    wa.users.addUserToGroup(bich464, user)
+    if len(user) == 1:
+        # Update name, regen password if the user ran it again
+        userObj = user[0]
+        returnData = wa.users.updateUser(userObj, args.email, args.first, args.last, password)
+        print 'Updated User\nUsername: %s\nPassword: %s' % (args.email, password)
+    else:
+        returnData = wa.users.createUser(args.email, args.first, args.last, password, role='user')
+        print 'Created User\nUsername: %s\nPassword: %s' % (args.email, password)
 
-    print 'Username: %s\nPassword: %s' % (args.email, password)
+    print "Return data: " + str(returnData)