Restructure around an LDAPConnection class
authorW. Trevor King <wking@tremily.us>
Sun, 20 Jan 2013 15:48:19 +0000 (10:48 -0500)
committerW. Trevor King <wking@tremily.us>
Sun, 20 Jan 2013 18:05:18 +0000 (13:05 -0500)
commit74ccf3e6fa1222621fc2220a4c50bc67ec7d72f0
treec056c73600532e5762b24a21d52769ced7f7da85
parentb1d45029a439eb1e3351bb03f21ca4964d7bcf08
Restructure around an LDAPConnection class

This keeps us organized and simplifies the connection API (using the
'with' statement).

I also simplified the cache structure to keep all cached entries in a
single pickled dict, to avoid calculating safe filenames for each
query.  The number of queries you make in 14 days will probably not be
large enough for any fan-out efficiencies to be worth the trouble.

I considered using JSON instead of Pickle, but JSON does not support
raw byte strings (e.g. jpegPhoto), and it's not worth encoding
non-text fields using Base64, etc., when Pickle already works.

It would be nice to automatically detect and drop any non text fields,
but that's probably not worth the trouble either...
mutt-ldap.py