summaryrefslogtreecommitdiffstats
path: root/ipa-admintools/ipa-moduser
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-admintools/ipa-moduser')
-rw-r--r--ipa-admintools/ipa-moduser100
1 files changed, 51 insertions, 49 deletions
diff --git a/ipa-admintools/ipa-moduser b/ipa-admintools/ipa-moduser
index dd909c90a..af4b99f0e 100644
--- a/ipa-admintools/ipa-moduser
+++ b/ipa-admintools/ipa-moduser
@@ -18,19 +18,6 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
-import sys
-from optparse import OptionParser
-import ipa
-import ipa.user
-import ipa.ipaclient as ipaclient
-import ipa.ipavalidate as ipavalidate
-import ipa.config
-
-import xmlrpclib
-import kerberos
-import ldap
-import errno
-
def usage():
print "ipa-moduser [--list]"
print "ipa-moduser [-a|--activate] [-c|--gecos STRING] [-d|--directory STRING] [-f|--firstname STRING] [-l|--lastname STRING] [-s|--shell STRING] [--addattr attribute=value] [--delattr attribute] [--setattr attribute=value] user"
@@ -116,12 +103,8 @@ def main():
except ipa.ipaerror.exception_for(ipa.ipaerror.LDAP_NOT_FOUND):
print "User %s not found" % username
return 1
- except ipa.ipaerror.IPAError, e:
- print "%s" % e.message
- return 1
- except kerberos.GSSError, e:
- print "Could not initialize GSSAPI: %s/%s" % (e[0][0][0], e[0][1][0])
- return 1
+ except:
+ raise
# If any options are set we use just those. Otherwise ask for all of them.
if options.gn or options.sn or options.directory or options.gecos or options.mail or options.shell or options.addattr or options.delattr or options.setattr or options.activate:
@@ -202,7 +185,7 @@ def main():
if not options.shell:
while (cont != True):
shell = raw_input("shell: [%s] " % user.getValue('loginshell'))
-
+
if len(shell) < 1:
shell = None
cont = True
@@ -241,7 +224,7 @@ def main():
if len(a) != 2:
set_add_usage("add")
sys.exit(1)
- (attr,value) = a
+ (attr,value) = a
cvalue = user.getValue(attr)
if cvalue:
if isinstance(cvalue,str):
@@ -249,35 +232,54 @@ def main():
value = cvalue + [value]
user.setValue(attr, value)
- try:
- if options.activate:
- try:
- client.mark_user_active(user.getValues('uid'))
- print "User activated successfully."
- except ipa.ipaerror.exception_for(ipa.ipaerror.LDAP_EMPTY_MODLIST):
- print "User is already marked active"
- return 0
- except:
- raise
- client.update_user(user)
- except xmlrpclib.Fault, fault:
- if fault.faultCode == errno.ECONNREFUSED:
- print "The IPA XML-RPC service is not responding."
- else:
- print fault.faultString
- return 1
- except kerberos.GSSError, e:
- print "Could not initialize GSSAPI: %s/%s" % (e[0][0][0], e[0][1][0])
- return 1
- except xmlrpclib.ProtocolError, e:
- print "Unable to connect to IPA server: %s" % (e.errmsg)
- return 1
- except ipa.ipaerror.IPAError, e:
- print "%s" % (e.message)
- return 1
+ if options.activate:
+ try:
+ client.mark_user_active(user.getValues('uid'))
+ print "User activated successfully."
+ except ipa.ipaerror.exception_for(ipa.ipaerror.LDAP_EMPTY_MODLIST):
+ print "User is already marked active"
+ return 0
+ except:
+ raise
+
+ client.update_user(user)
print username + " successfully updated"
return 0
-if __name__ == "__main__":
- sys.exit(main())
+try:
+ import sys
+ from optparse import OptionParser
+ import ipa
+ import ipa.user
+ import ipa.ipaclient as ipaclient
+ import ipa.ipavalidate as ipavalidate
+ import ipa.ipautil as ipautil
+ import ipa.config
+
+ import xmlrpclib
+ import kerberos
+ import ldap
+ import errno
+
+ if __name__ == "__main__":
+ sys.exit(main())
+except SystemExit, e:
+ sys.exit(e)
+except KeyboardInterrupt, e:
+ sys.exit(1)
+except xmlrpclib.Fault, fault:
+ if fault.faultCode == errno.ECONNREFUSED:
+ print "The IPA XML-RPC service is not responding."
+ else:
+ print fault.faultString
+ sys.exit(1)
+except kerberos.GSSError, e:
+ print "Could not initialize GSSAPI: %s/%s" % (e[0][0], e[0][1])
+ sys.exit(1)
+except xmlrpclib.ProtocolError, e:
+ print "Unable to connect to IPA server: %s" % (e.errmsg)
+ sys.exit(1)
+except ipa.ipaerror.IPAError, e:
+ print "%s" % (e.message)
+ sys.exit(1)