imputil.py, is this a bug ?
Stef Mientki
stef.mientki at gmail.com
Sat Nov 7 04:55:31 EST 2009
Gabriel Genellina wrote:
> En Fri, 06 Nov 2009 18:33:37 -0300, Stef Mientki
> <stef.mientki at gmail.com> escribió:
>
>> I get an error compiling with pyjamas, in the standard module
>> imputil, _import_top_module
>
> Note that imputil is undocumented in 2.5, deprecated in 2.6 and
> definitively gone in 3.0
>
>> AttributeError: 'unicode' object has no attribute 'import_top'
>>
>> def _import_top_module(self, name):
>> # scan sys.path looking for a location in the filesystem that
>> contains
>> # the module, or an Importer object that can import the module.
>> for item in sys.path:
>> if isinstance(item, _StringType):
>> module = self.fs_imp.import_from_dir(item, name)
>> else:
>> module = item.import_top(name)
>> if module:
>> return module
>> return None
>>
>> It seems that elements of sys.path can be of the type unicode
>> so by adding the next 2 lines, everything works ok.
>> elif isinstance ( item, basestring ) :
>> module = self.fs_imp.import_from_dir ( str(item), name)
>>
>> is this a bug ?
>> (I'm using Python 2.5.2 on Windows )
>
> Yes, seems to be a bug. But given the current status of imputil, it's
> not likely to be fixed; certainly not in 2.5 which only gets security
> fixes now.
>
> I cannot test it at this moment, but I'd use the unicode item directly
> (that is, self.fs_imp.import_from_dir(item, name)). Or perhaps
> item.encode(sys.getdefaultfilesystemencoding()). str(item)
> definitively won't work with directory names containing non-ascii
> characters.
>
> Why are you using imputil in the first place?
>
thanks Gabriel,
well PyJamas is using (a copy) of it and I bumped into problems using
PyJamas.
I'll send this message to the PyJamas developers,
because this stuff is far beyond my knowledge.
cheers,
Stef
More information about the Python-list
mailing list