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