Author amcnabb
Recipients amcnabb
Date 2009-09-25.20:07:55
SpamBayes Score 7.80198e-12
Marked as misclassified No
Message-id <1253909278.7.0.408125784392.issue6999@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2009-09-25 20:07:58amcnabbsetrecipients: + amcnabb
2009-09-25 20:07:58amcnabbsetmessageid: <1253909278.7.0.408125784392.issue6999@psf.upfronthosting.co.za>
2009-09-25 20:07:57amcnabblinkissue6999 messages
2009-09-25 20:07:56amcnabbcreate