diff options
author | Rob Crittenden <rcritten@redhat.com> | 2007-10-30 15:07:02 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2007-10-30 15:07:02 -0400 |
commit | 1d6e88565c48ee0799ac1df58d4a56444388f0c8 (patch) | |
tree | 1b8dfc91d7688a3968e499072c6e7ad80464fddd /ipa-python/rpcclient.py | |
parent | 402274af4bfbefda55d1968bed61b563f8af8559 (diff) | |
download | freeipa-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.py | 17 |
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) |