Python parts of module ldap

Michael Ströder michael at stroeder.com
Sat Dec 15 23:35:48 CET 2001


"Jeffrey C. Ollie" wrote:
> 
> On Sat, Dec 15, 2001 at 09:31:25PM +0100, Michael Ströder wrote:
> > Jacek Konieczny wrote:
> > >
> > > On Sat, Dec 15, 2001 at 09:03:44PM +0100, Michael Ströder wrote:
> > > > After checking in some of my modules below Lib/ldap/ I noticed a
> > > > serious drawback:
> > > > All modules are dependent on availability of OpenLDAP 2 libs if
> > > > located under Lib/ldap/ because of the "from _ldap import *" done in
> > > > Lib/ldap/__init__.py.
> > > >
> > > [...]
> > > >
> > > > Any opinions?
> > >
> > > Maybe you could put "from _ldap import *" in some "try:/except:" block.
> >
> > I already thought of that. But this makes error reports about
> > importing problems somewhat harder. E.g. if linking of shared libs
> > fails it's much more useful to have the original traceback instead
> > of e.g. a NameError exception afterwards. That's not good style.
> 
> What about something like:
> 
> import sys
> _ldap_import_exception = (None, None, None)
> try:
>     from _ldap import *
> except ImportError:
>     _ldap_import_exception = sys.exc_info()

Well, then it's easier to tell somebody to do a

$ python -c "import _ldap"

to track down problems.

Another issue I forgot to mention so far is that I can't reuse
constants of _ldap if importing it fails. I have to define them
separately anyway.

Hmm, I think I will stick with a separate module package.

Ciao, Michael.




More information about the python-ldap mailing list