Skip to main content

generate and parse LDIF data (see RFC 2849).

Project description

ldif3 - generate and parse LDIF data (see RFC 2849).

This is a fork of the ldif module from python-ldap with python3/unicode support. See the first entry in CHANGES.rst for a more complete list of differences.

Usage

Parse LDIF from a file (or BytesIO):

from ldif3 import LDIFParser
from pprint import pprint

parser = LDIFParser(open('data.ldif', 'rb'))
for dn, entry in parser.parse():
    print('got entry record: %s' % dn)
    pprint(record)

Write LDIF to a file (or BytesIO):

from ldif3 import LDIFWriter

writer = LDIFWriter(open('data.ldif', 'wb'))
writer.unparse('mail=alice@example.com', {
    'cn': ['Alice Alison'],
    'mail': ['alice@example.com'],
    'objectclass': ['top', 'person'],
})

Unicode support

The stream object that is passed to parser or writer must be an ascii byte stream.

The spec allows to include arbitrary data in base64 encoding or via URL. There is no way of knowing the encoding of this data. To handle this, there are two modes:

By default, the LDIFParser will try to interpret all values as UTF-8 and leave only the ones that fail to decode as bytes. But you can also pass an encoding of None to the constructor, in which case the parser will not try to do any conversion and return bytes directly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ldif3-3.2.2.tar.gz (9.0 kB view details)

Uploaded Source

File details

Details for the file ldif3-3.2.2.tar.gz.

File metadata

  • Download URL: ldif3-3.2.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ldif3-3.2.2.tar.gz
Algorithm Hash digest
SHA256 0afcb46b23731afcdc033af75fb5b54456a9c4ae692882c6f8ff1fef0bfb3e7f
MD5 ef09eb3cb47b8f023744baa1837b197e
BLAKE2b-256 50ff2686e25a7abdb273b5b85b752f4fcbd14d3aca52bac9cf6ddda17845ede2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page