LdapServer: add get_changes() and format_changes() methods
This commit is contained in:
parent
d49ae5aabb
commit
d336ab3a8d
1 changed files with 20 additions and 0 deletions
|
@ -106,6 +106,26 @@ class LdapServer(object):
|
|||
return False
|
||||
return True
|
||||
|
||||
def get_changes(self, old, new, ignore_attrs=[]):
|
||||
return modlist.modifyModlist(old, new, ignore_attr_types=ignore_attrs)
|
||||
|
||||
def format_changes(self, old, new, ignore_attrs=[], prefix=''):
|
||||
msg = []
|
||||
for (op, attr, val) in modlist.modifyModlist(old, new, ignore_attr_types=ignore_attrs):
|
||||
if op == ldap.MOD_ADD:
|
||||
op = 'ADD'
|
||||
elif op == ldap.MOD_DELETE:
|
||||
op = 'DELETE'
|
||||
elif op == ldap.MOD_REPLACE:
|
||||
op = 'REPLACE'
|
||||
else:
|
||||
op = 'UNKNOWN (=%s)' % op
|
||||
if val is None and op == 'DELETE':
|
||||
msg.append('%s - %s %s' % (prefix, op, attr))
|
||||
else:
|
||||
msg.append('%s - %s %s: %s' % (prefix, op, attr, val))
|
||||
return '\n'.join(msg)
|
||||
|
||||
def rename_object(self,dn,new_rdn):
|
||||
try:
|
||||
self.logger.debug("LdapServer - Rename %s in %s" % (dn,new_rdn))
|
||||
|
|
Loading…
Reference in a new issue