[issue6999] TypeError in pathfix.py
Andrew McNabb
report at bugs.python.org
Fri Sep 25 22:07:58 CEST 2009
New submission from Andrew McNabb <amcnabb at mcnabbs.org>:
Tools/scripts/pathfix.py crashes with a TypeError:
Traceback (most recent call last):
File "Tools/scripts/pathfix.py", line 149, in <module>
main()
File "Tools/scripts/pathfix.py", line 54, in main
if recursedown(arg): bad = 1
File "Tools/scripts/pathfix.py", line 82, in recursedown
elif ispython(name):
File "Tools/scripts/pathfix.py", line 64, in ispython
return ispythonprog.match(name) >= 0
TypeError: unorderable types: NoneType() >= int()
It looks like an easy fix would be to change line 64 from:
return ispythonprog.match(name) >= 0
to:
return bool(ispythonprog.match(name))
After making this change, I got another crash, this time due to a
UnicodeDecodeError. Apparently, the file
(Demo/distutils/test2to3/setup.py) has a character encoded in ISO-8859.
Since pathfix.py is only concerned with ASCII text in the first line of
a file, it seems that it should probably operate on bytes instead of
unicode strings.
By the way, it's a little odd (but not technically invalid) that the
format string on line 146 is: '#! %s\n'. I would normally expect to see
no whitespace: '#!%s\n'.
Anyway, I'm attaching a patch that fixes addresses all of the above
issues and which seems to make pathfix.py work for all files in the
Python 3.1.1 source tree.
----------
components: Demos and Tools
files: python-3.1.1-pathfix.patch
keywords: patch
messages: 93134
nosy: amcnabb
severity: normal
status: open
title: TypeError in pathfix.py
type: crash
versions: Python 3.1
Added file: http://bugs.python.org/file14975/python-3.1.1-pathfix.patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue6999>
_______________________________________
More information about the Python-bugs-list
mailing list