summaryrefslogtreecommitdiffstats
path: root/ipa-python/rpcclient.py
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2007-10-30 15:07:02 -0400
committerRob Crittenden <rcritten@redhat.com>2007-10-30 15:07:02 -0400
commit1d6e88565c48ee0799ac1df58d4a56444388f0c8 (patch)
tree1b8dfc91d7688a3968e499072c6e7ad80464fddd /ipa-python/rpcclient.py
parent402274af4bfbefda55d1968bed61b563f8af8559 (diff)
downloadfreeipa-1d6e88565c48ee0799ac1df58d4a56444388f0c8.tar.gz
freeipa-1d6e88565c48ee0799ac1df58d4a56444388f0c8.tar.xz
freeipa-1d6e88565c48ee0799ac1df58d4a56444388f0c8.zip
Add memberOf API call to the XML-RPC interface
Make find-groups use memberOf to have a prettier dispaly of members
Diffstat (limited to 'ipa-python/rpcclient.py')
-rw-r--r--ipa-python/rpcclient.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py
index a69fd1338..7f87ac040 100644
--- a/ipa-python/rpcclient.py
+++ b/ipa-python/rpcclient.py
@@ -574,3 +574,20 @@ class RPCClient:
raise xmlrpclib.Fault(value, msg)
return ipautil.unwrap_binary_data(result)
+
+ def memberOf(self, groupdn, attr_list=None):
+ """Do a memberOf search of groupdn and return the attributes in
+ attr_list (an empty list returns everything)."""
+
+ if attr_list is None:
+ attr_list = "__NONE__"
+
+ server = self.setup_server()
+ try:
+ result = server.memberOf(groupdn, attr_list)
+ except xmlrpclib.Fault, fault:
+ raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
+ except socket.error, (value, msg):
+ raise xmlrpclib.Fault(value, msg)
+
+ return ipautil.unwrap_binary_data(result)