diff --git a/print_ldap_entries.py b/print_ldap_entries.py index 1b28a81..bd46084 100644 --- a/print_ldap_entries.py +++ b/print_ldap_entries.py @@ -25,8 +25,17 @@ template = ( "}})" ) for ldif in ldifs: + # Delete all modifying values (non-permitted by ldapadd) + del ldif['modifyTimestamp'] + del ldif['structuralObjectClass'] + del ldif['entryCSN'] + del ldif['modifiersName'] + del ldif['creatorsName'] + del ldif['createTimestamp'] + del ldif['entryUUID'] # Cast all values to str instead of bytes + dn = ldif.pop('dn', [b'CHANGE_ME'])[0].decode() data = '\n'.join("'{}': {},".format(k,[vv.decode() for vv in v]) for k, v in ldif.items()) name = ldif.get('cn', ldif.get('ou', [b'CHANGE_ME']))[0].decode() - print(template.format(name=name, dn=ldif['dn'][0].decode(), data=data)) + print(template.format(name=name, dn=dn, data=data)) print() \ No newline at end of file