Any example of Server/Client Side Sorting?
Michael Ströder
michael at stroeder.com
Thu May 14 19:04:25 CEST 2009
Zhang Huangbin wrote:
> Michael Ströder wrote:
>> 100+ entries are not so many. So you could try sorting the list of
>> search results retrieved with LDAPObject.ldap_search_ext_s() by invoking
>> list method .sort(). Make sure you understand how to control the
>> comparisons.
>>
>> See item 8. here:
>> http://docs.python.org/library/stdtypes.html#index-591
>>
>
> No idea yet. Any example?
Bear in mind search results returned by synchronous search methods are
in a list of 2-tuples each consisting of the DN string and the entry
dictionary like this:
[(dn,entry)]
Without testing just as food for thought:
Compare function for case-insensitive comparison of the DN:
cmp=lambda x,y: cmp(x[0].lower(), y[0}.lower())
Compare function for case-insensitive comparison of the first attribute
value of 'cn' (this would choke with KeyError exception if there's no
attribute 'cn' in the entry):
cmp=lambda x,y: cmp(x[1]['cn'][0].lower(), y[1]['cn'][0].lower())
And then results.sort(cmp). I don't know how fast this is though.
The rest of the homework is up to you. For various list sorting aspects
you should ask in news:comp.lang.python
Ciao, Michael.
More information about the python-ldap
mailing list