summaryrefslogtreecommitdiffstats
path: root/ipa-admintools/ipa-finduser
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-admintools/ipa-finduser')
-rw-r--r--ipa-admintools/ipa-finduser40
1 files changed, 27 insertions, 13 deletions
diff --git a/ipa-admintools/ipa-finduser b/ipa-admintools/ipa-finduser
index 205b47ce..a54e141e 100644
--- a/ipa-admintools/ipa-finduser
+++ b/ipa-admintools/ipa-finduser
@@ -18,12 +18,14 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
+import sys
from optparse import OptionParser
-import ipa
-import ipa.rpcclient
-import base64
+import ipa.ipaclient as ipaclient
+import ipa.config
+
import sys
import xmlrpclib
+import kerberos
def usage():
print "ipa-finduser <uid>"
@@ -32,28 +34,40 @@ def usage():
def parse_options():
parser = OptionParser()
- (options, args) = parser.parse_args()
+ args = ipa.config.init_config(sys.argv)
+ options, args = parser.parse_args(args)
return options, args
def main():
user={}
- (options, args) = parse_options()
+ options, args = parse_options()
- if len(args) != 1:
+ if len(args) != 2:
usage()
try:
- ent = ipa.rpcclient.get_user(args[0])
- for name, value in ent.items():
- if isinstance(value, str):
- print name + ": " + value
+ client = ipaclient.IPAClient()
+ ent = client.get_user(args[1])
+ attr = ent.attrList()
+
+ print "dn: " + ent.dn
+
+ for a in attr:
+ value = ent.getValues(a)
+ if isinstance(value,str):
+ print a + ": " + value
else:
- print name + ": "
- for x in value:
- print "\t" + x
+ print a + ": "
+ for l in value:
+ print "\t" + l
+
except xmlrpclib.Fault, fault:
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
return 0