lib/import: improve legibility of verbose output

This commit is contained in:
Benjamin Dauvergne 2016-03-18 12:53:49 +01:00
parent c71ecf6562
commit 690a3d8381
1 changed files with 21 additions and 12 deletions

View File

@ -117,7 +117,7 @@ for dn, add in adds:
conn.add_s(dn, add)
if args.verbose:
attributes = [entry[0] for entry in add]
print '- added entry %s' % dn
print '- add %s' % dn
for name, values in add:
print ' -', name, ':', ', '.join(values)
except ldap.LDAPError, e:
@ -127,17 +127,26 @@ for dn, modify in modifies:
if not args.fake:
conn.modify_s(dn, modify)
if args.verbose:
print 'modified entry %s' % dn
for op, name, values in modify:
if op == ldap.MOD_ADD:
print ' - add values "', ', '.join(values), '" to attribute', name
elif op == ldap.MOD_DELETE:
if values is None:
print ' - removed all values of attribute', name
print '- modify %s' % dn
adds = [(name, values) for op, name, values in modify if op == ldap.MOD_ADD]
deletes = [(name, values) for op, name, values in modify if op == ldap.MOD_DELETE]
replaces = [(name, values) for op, name, values in modify if op == ldap.MOD_REPLACE]
if replaces:
print ' - replace'
for name, values in replaces:
if values:
print ' - %s: %s' % (name, '. '.join('"%s"' % value for value in values))
if adds:
print ' - add'
for name, values in adds:
if values:
print ' - %s: %s' % (name, '. '.join('"%s"' % value for value in values))
if deletes:
print ' - delete'
for name, values in deletes:
if values:
print ' - %s: %s' % (name, '. '.join('"%s"' % value for value in values))
else:
print ' - removed values "', ', '.join(values), '" from attribute', name
elif op == ldap.MOD_REPLACE:
print(' - replaced values of attribute', name, 'with values "',
', '.join(values), '"')
print ' - %s: all values' % name
except ldap.LDAPError, e:
print >>sys.stderr, 'Unable to modify entry %s: %s' % (dn, e)