Implement asynchronous search for groups.
Use the filter generation code to search on multiple fields.
This commit is contained in:
1 parent
6b3d1e85da
commit
f17071533a
5 files changed
+71
-21
No files matched your search
@@ -161,13 +161,14 @@ class IPAClient:
|
||||
result = self.transport.add_group(group_dict, group_container)
|
||||
return result
|
||||
|
||||
def find_groups(self, criteria, sattrs=None):
|
||||
def find_groups(self, criteria, sattrs=None, searchlimit=0):
|
||||
"""Find groups whose cn matches the criteria. Wildcards are
|
||||
acceptable. Returns a list of Group objects."""
|
||||
result = self.transport.find_groups(criteria, sattrs)
|
||||
result = self.transport.find_groups(criteria, sattrs, searchlimit)
|
||||
counter = result[0]
|
||||
|
||||
groups = []
|
||||
for attrs in result:
|
||||
groups = [counter]
|
||||
for attrs in result[1:]:
|
||||
if attrs is not None:
|
||||
groups.append(group.Group(attrs))
|
||||
|
||||
|
||||
@@ -259,7 +259,7 @@ class RPCClient:
|
||||
except socket.error, (value, msg):
|
||||
raise xmlrpclib.Fault(value, msg)
|
||||
|
||||
def find_groups (self, criteria, sattrs=None):
|
||||
def find_groups (self, criteria, sattrs=None, searchlimit=0):
|
||||
"""Return a list containing a Group object for each group that matches
|
||||
the criteria."""
|
||||
|
||||
@@ -268,7 +268,7 @@ class RPCClient:
|
||||
# None values are not allowed in XML-RPC
|
||||
if sattrs is None:
|
||||
sattrs = "__NONE__"
|
||||
result = server.find_groups(criteria, sattrs)
|
||||
result = server.find_groups(criteria, sattrs, searchlimit)
|
||||
except xmlrpclib.Fault, fault:
|
||||
raise ipaerror.gen_exception(fault.faultCode, fault.faultString)
|
||||
except socket.error, (value, msg):
|
||||
|
||||
Reference in new issue
Block a user