deb-python-pyldap/Doc/ldif.rst

1.9 KiB

ldif LDIF parser and generator

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.

2849 - The LDAP Data Interchange Format (LDIF) - Technical Specification

Functions

ldif.CreateLDIF

ldif.ParseLDIF

Classes

ldif.LDIFWriter

ldif.LDIFParser

LDIFRecordList

LDIFCopy

Example

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):
      if dn in SKIP_DN:
        return
      self.writer.unparse(dn,entry)

parser = MyLDIF(open("input.ldif", 'rb'), sys.stdout)
parser.parse()