Module author: python-ldap project (see http://www.python-ldap.org/)
This module parses and generates LDAP data in the format LDIF. It is implemented in pure Python and does not rely on any non-standard modules. Therefore it can be used stand-alone without the rest of the python-ldap package.
See also
RFC 2849 - The LDAP Data Interchange Format (LDIF) - Technical Specification
The following example demonstrates how to write LDIF output of an LDAP entry with ldif module.
>>> import sys,ldif
>>> entry={'objectClass':['top','person'],'cn':['Michael Stroeder'],'sn':['Stroeder']}
>>> dn='cn=Michael Stroeder,ou=Test'
>>> ldif_writer=ldif.LDIFWriter(sys.stdout)
>>> ldif_writer.unparse(dn,entry)
dn: cn=Michael Stroeder,ou=Test
cn: Michael Stroeder
objectClass: top
objectClass: person
sn: Stroeder
The following example demonstrates how to parse an LDIF file with ldif module, skip some entries and write the result to stdout.
import sys
from ldif import LDIFParser, LDIFWriter
skip_dn = ["uid=foo,ou=People,dc=example,dc=com",
"uid=bar,ou=People,dc=example,dc=com"]
class MyLDIF(LDIFParser):
def __init__(self, input, output):
LDIFParser.__init__(self, input)
self.writer = LDIFWriter(output)
def handle(self, dn, entry):
for i in skip_dn:
if i == dn: return
self.writer.unparse(dn, entry)
parser = MyLDIF(open("input.ldif", 'rb'), sys.stdout)
parser.parse()