Lazy imports (was Re: module naming)
Greg McFarlane
gregm at iname.com
Thu Apr 20 10:47:52 EDT 2000
On 18 Apr, Peter Funk wrote:
> You could try to adopt the lazy loader concept implemented in
> the Pmw package. ...
I think there is a bug in your code. Several lines have the wrong
indentation. The following:
> for name in dict.keys():
> self.__dict__[name] = {}
> d = {}
> execfile(os.path.join(self._path, _EXP_DEF), d)
> for k,v in d.items():
> if dict.has_key(k):
> if type(v) == types.TupleType:
> for item in v:
> ## modpath = self._package + item
> modpath = item
> dict[k][item] = modpath
> elif type(v) == types.DictionaryType:
> for k1, v1 in v.items():
> ## modpath = '_'+self._package +'.'+ v1
> modpath = v1
> dict[k][k1] = modpath
should be:
> for name in dict.keys():
> self.__dict__[name] = {}
> d = {}
> execfile(os.path.join(self._path, _EXP_DEF), d)
> for k,v in d.items():
> if dict.has_key(k):
> if type(v) == types.TupleType:
> for item in v:
> ## modpath = self._package + item
> modpath = item
> dict[k][item] = modpath
> elif type(v) == types.DictionaryType:
> for k1, v1 in v.items():
> ## modpath = '_'+self._package +'.'+ v1
> modpath = v1
> dict[k][k1] = modpath
--
Greg McFarlane INMS Telstra Australia gregm at iname.com
More information about the Python-list
mailing list