summaryrefslogtreecommitdiffstats
path: root/ipa-python
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-python')
-rw-r--r--ipa-python/ipaclient.py11
-rw-r--r--ipa-python/rpcclient.py17
2 files changed, 28 insertions, 0 deletions
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