From cfaa28150b6f0599b61acbb9b033327de9fd45ee Mon Sep 17 00:00:00 2001 From: "rcritten@redhat.com" Date: Mon, 13 Aug 2007 16:41:38 -0400 Subject: Basic LDAP connection pooling Implement user search --- ipa-python/ipaclient.py | 11 +++++++++++ ipa-python/rpcclient.py | 17 +++++++++++++++++ 2 files changed, 28 insertions(+) (limited to 'ipa-python') diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py index c75b5bc9..2c24e77d 100644 --- a/ipa-python/ipaclient.py +++ b/ipa-python/ipaclient.py @@ -85,3 +85,14 @@ class IPAClient: def get_add_schema(self): result = self.transport.get_add_schema() return result + + def find_users(self, criteria, sattrs=None): + result = self.transport.find_users(criteria, sattrs) + + users = [] + for (attrs) in result: + if attrs is not None: + users.append(user.User(attrs)) + + return users + diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py index d4e645e1..243b5485 100644 --- a/ipa-python/rpcclient.py +++ b/ipa-python/rpcclient.py @@ -118,3 +118,20 @@ class RPCClient: raise xmlrpclib.Fault(value, msg) return result + + def find_users (self, criteria, sattrs=None): + """Return a list containing a User object for each user that matches + the criteria.""" + + server = self.setup_server() + try: + if sattrs is not None: + result = server.find_users(criteria, sattrs) + else: + result = server.find_users(criteria) + except xmlrpclib.Fault, fault: + raise xmlrpclib.Fault(fault.faultCode, fault.faultString) + except socket.error, (value, msg): + raise xmlrpclib.Fault(value, msg) + + return result -- cgit