| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- .. % $Id: ldif.rst,v 1.6 2011/02/19 13:04:41 stroeder Exp $
- #####################################
- :mod:`ldif` LDIF parser and generator
- #####################################
- .. module:: ldif
- :synopsis: Parses and generates LDIF files
- .. moduleauthor:: 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.
- .. seealso::
- :rfc:`2849` - The LDAP Data Interchange Format (LDIF) - Technical Specification
- .. _ldif-example:
- Example
- ^^^^^^^^
- The following example demonstrates how to write LDIF output
- of an LDAP entry with :mod:`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 :mod:`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()
|