high level API for ldap object handling
Michael Ströder
michael at stroeder.com
Wed Apr 23 11:29:19 CEST 2008
Olivier,
Olivier Sessink wrote:
>
> In my use of python-ldap I've often used a self-developed high level
> class for ldap-object handling.
>
> Adding a new ldap entry for example (ld is a python-ldap object):
>
> lo = LdapOO.LdapObject()
> lo.set_dn_attribs(['cn'])
> lo.add_attribute_value('cn','test2')
> lo.set_base_dn('ou=People,o=myorg')
> lo.add_attribute_value('objectClass','inetOrgPerson')
> lo.commit_s(ld)
>
> or modifying an existing ldap entry:
>
> res=ld.search_s('ou=People,o=fakenet',ldap.SCOPE_SUBTREE,'(sn=surname)')
> lo = LdapOO.LdapObject(res[0][0],res[0][1])
> lo.add_attribute_value('sn','surname')
> if (not lo.has_attribute('street')):
> lo.add_attribute_value('street','new street')
> lo.commit_s(ld)
Hmm, I'm not sure I would consider this to be very high-level. If a
higher-level API is ever add to python-ldap it will definitely be
subschema-aware to map OID to NAME aliases and some more stuff and make
use of defaultdict stuff new in Python 2.5.
> since I use this class often, I was wondering if there are more people
> that like such a high-level API, and perhaps this can be developed
> further and added to python-ldap ?
I'd prefer you to release this as a separate package on your own web
space since I wouldn't use it myself and therefore I'd not maintain it.
If you do so I would be glad to link to your project page from
python-ldap's web page so that others can find it easily.
Ciao, Michael.
More information about the python-ldap
mailing list