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