|
From: Michael <mi...@st...> - 2001-12-15 22:36:08
|
"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. |