[Twisted-Python] Ldaptor attributes in Python 3

Peter Westlake peter.westlake at pobox.com
Fri Jan 22 03:59:59 MST 2021


I'm using Ldaptor for LDAP access because it fits in with Twisted, and the results are a bit mystifying. The results that come back from a search are a list of LDAPEntryWithClient.  Indexing this, e.g. entry['cn'], gives an object of type JournaledLDAPAttributeSet, which is a subclass of set. It contains the name of the attribute and a list containing the value:

JournaledLDAPAttributeSet(b'cn', [b'Peter Westlake'])

Getting the value out of that isn't straightforward: I'd have to check the elements of the set for a list. Is there a better way?

I've also found that the items() method gives something more tractable:

>>> entry.items()
[
(b'cn', b'Peter Westlake'),
...
]

so I can turn that into a dict and index that. But again, this seems like an odd design for an API. Is there a better way to extract the value of an attribute from an entry?

Peter.



More information about the Twisted-Python mailing list