diff options
Diffstat (limited to 'ipa-python/ipaclient.py')
-rw-r--r-- | ipa-python/ipaclient.py | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py index 7095aac1..880b4785 100644 --- a/ipa-python/ipaclient.py +++ b/ipa-python/ipaclient.py @@ -71,6 +71,8 @@ class IPAClient: def add_user(self,user,user_container=None): """Add a user. user is a ipa.user.User object""" + realm = config.config.get_realm() + user_dict = user.toDict() # dn is set on the server-side @@ -97,11 +99,11 @@ class IPAClient: result = self.transport.get_add_schema() return result - def find_users(self, criteria, sattrs=None): + def find_users(self, criteria, sattrs=None, searchlimit=0): """Return a list: counter followed by a User object for each user that matches the criteria. If the results are truncated, counter will be set to -1""" - result = self.transport.find_users(criteria, sattrs) + result = self.transport.find_users(criteria, sattrs, searchlimit) counter = result[0] users = [counter] @@ -114,12 +116,16 @@ class IPAClient: def update_user(self,user): """Update a user entry.""" + realm = config.config.get_realm() + result = self.transport.update_user(user.origDataDict(), user.toDict()) return result def delete_user(self,uid): """Delete a user entry.""" + realm = config.config.get_realm() + result = self.transport.delete_user(uid) return result @@ -133,6 +139,8 @@ class IPAClient: def mark_user_deleted(self,uid): """Set a user as inactive by uid.""" + realm = config.config.get_realm() + result = self.transport.mark_user_deleted(uid) return result @@ -155,6 +163,8 @@ class IPAClient: def add_group(self,group,group_container=None): """Add a group. group is a ipa.group.Group object""" + realm = config.config.get_realm() + group_dict = group.toDict() # dn is set on the server-side @@ -164,13 +174,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)) |