python-ldap Frage zu LDIF

Michael Ströder michael at stroeder.com
Wed Nov 10 13:12:07 CET 2010


Marc-Boris Patermann wrote:
> ich habe ein Frage zum Python-Modul LDAP bzw. der LDIFParser Klasse.
> [Meine Python-Kenntnisse sind noch nicht sehr tiefgreifend.]

Hmm, persönlich an mich interessierte Fragen habe ich meist nicht so gerne.

Am besten solche Fragen zu python-ldap
auf der Mailing-Liste python-ldap-dev (englisch),
in news:comp.lang.python (englisch) oder
news:de.comp.lang.python (deutsch)
stellen

Ich lese dort überall auch mit.
Aber sei's drum...

> Wo legt LDIFParser.parse() denn die Einträge ab?

Nirgends. ;-)

Letztlich leitet man eine eigene Parser-Klasse MyLDIFParser von der Klasse
LDIFParser ab und implementiert in der Methode
MyLDIFParser.handle(self,dn,entry) die benötigte Funktionalität. Die Methode
parse() startet dann den Vorgang.

Hier hat es auch ein kleines Beispiel:
http://www.python-ldap.org/doc/html/ldif.html#example

Das kopiert eine LDIF-Datei und lässt einige Einträge dabei weg.
(Das Beispiel ist eigentlich schlecht programmiert...)

> Bei LDIFRecordList gibt es ein Array, das die Einträge enthält.
>>>> ldif_parser = ldif.LDIFRecordList(open("input.ldif"),max_entries=1)
>>>> ldif_parser.parse()
>>>> ldif_parser.all_records[0]
> 
> Ich versuche eigentlich nur einen slapcat-Output (relativ groß) als LDIF
> einzulesen, bestimmte Einträge (viele) zu verändern und das veränderte
> Ergebnis wegzuschreiben, aber es gelingt mir - wie gesagt - nicht.

LDIFRecordList kann dazu dienen, relativ kleine LDIF-Daten mal eben schnell in
eine Liste einzulesen. Ist aber nicht für einen grossen LDIF-Export und
Stream-Processing gedacht.

Ciao, Michael.


More information about the python-ldap mailing list