From 774804d674a36733db51e76ce7da2353f7d5bf2c Mon Sep 17 00:00:00 2001 From: "Jeroen van Meeuwen (Kolab Systems)" Date: Sun, 13 May 2012 17:31:09 +0100 Subject: Update set_entry_attributes() to include the capability to delete and replace --- pykolab/auth/ldap/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'pykolab') diff --git a/pykolab/auth/ldap/__init__.py b/pykolab/auth/ldap/__init__.py index 6eed427..08b4e66 100644 --- a/pykolab/auth/ldap/__init__.py +++ b/pykolab/auth/ldap/__init__.py @@ -684,6 +684,11 @@ class LDAP(pykolab.base.Base): for attribute in attrs.keys(): if entry.has_key(attribute) and entry[attribute] == None: modlist.append((ldap.MOD_ADD, attribute, attrs[attribute])) + elif entry.has_key(attribute) and not entry[attribute] == None: + if attrs[attribute] == None: + modlist.append((ldap.MOD_DELETE, attribute, entry[attribute])) + else: + modlist.append((ldap.MOD_REPLACE, attribute, attrs[attribute])) dn = entry_dn self.ldap.modify_s(dn, modlist) -- cgit v1.1