Package omero :: Module adduser
[hide private]
[frames] | no frames]

Source Code for Module omero.adduser

 1  #!/usr/bin/env python 
 2   
 3  """ 
 4   
 5  :author: Josh Moore <josh@glencoesoftware.com> 
 6   
 7  This script adds an OMERO user via blitz. 
 8   
 9  Copyright (c) 2007, Glencoe Software, Inc. 
10   
11  """ 
12   
13  from optparse import OptionParser 
14  from omero.rtypes import rstring 
15   
16 -def main():
17 version="%prog 1.0" 18 usage = "usage: %prog [--sudo=... --sudopass=...] [optional fields] omename firstname [middlename] lastname" 19 parser = OptionParser(usage=usage, version=version) 20 parser.add_option("-c", "--config", dest="file", 21 help="read Ice configuration from FILE [default: %default]", metavar="FILE", 22 default="etc/ice.config") 23 parser.add_option("-e", "--email", dest="email", 24 help="user's EMAIL address", metavar="EMAIL") 25 parser.add_option("-i","--institute", dest="institute", 26 help="user's INSTITUTE's name", metavar="INSTITUTE") 27 parser.add_option("-g","--group", dest="group", 28 help="user's default GROUP [default: %default]", metavar="GROUP", 29 default="default") 30 parser.add_option("-p","--password", dest="password", 31 help="user's PASSWORD [default: %default]", metavar="PASSWORD", 32 default=None) 33 parser.add_option("-s","--sudo", dest="sudo", 34 help="Make call as different user", default=None) 35 parser.add_option("-r","--sudopass", dest="sudopass", 36 help="Password for sudo user") 37 (options, args) = parser.parse_args() 38 39 l = len(args) 40 if l == 3 : 41 on, fn, ln = args 42 mn = None 43 elif l == 4 : 44 on, fn, mn, ln = args 45 else: 46 parser.error("Must provide omename, firstname, and lastname") 47 48 import omero, Ice 49 from omero_model_ExperimenterI import ExperimenterI as Exp 50 a = ["--Ice.Config="+options.file] 51 c = omero.client(a) 52 p = c.ic.getProperties() 53 if options.sudo: 54 if not options.sudopass: 55 parser.error("Must provide --sudopass when using --sudo") 56 p.setProperty(omero.constants.USERNAME,options.sudo) 57 p.setProperty(omero.constants.PASSWORD,options.sudopass) 58 c.createSession() 59 e = Exp() 60 e.omeName = rstring(on) 61 e.firstName = rstring(fn) 62 e.lastName = rstring(ln) 63 e.middleName = rstring(mn) 64 e.email = rstring(options.email) 65 e.institution = rstring(options.institute) 66 admin = c.getSession().getAdminService() 67 id = admin.createUser(e,options.group) 68 print "Added user "+str(id) 69 admin.changeUserPassword(on,rstring(options.password))
70 71 72 if __name__ == "__main__": 73 main() 74