summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2009-09-25 20:56:52 (GMT)
committerBenjamin Peterson <benjamin@python.org>2009-09-25 20:56:52 (GMT)
commit9abfc457e0b7cd79c848943d5dde604668dfe06d (patch)
tree98be602d147c20b9af1b54577b31a03aca893492 /Tools
parent8fb00bef2747b832c828981f2b54d2f88495694f (diff)
downloadcpython-9abfc457e0b7cd79c848943d5dde604668dfe06d.zip
cpython-9abfc457e0b7cd79c848943d5dde604668dfe06d.tar.gz
cpython-9abfc457e0b7cd79c848943d5dde604668dfe06d.tar.bz2
correct the fixpath.py script to work in Python 3 #6999
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/scripts/pathfix.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/Tools/scripts/pathfix.py b/Tools/scripts/pathfix.py
index 601a172..6cbac10 100755
--- a/Tools/scripts/pathfix.py
+++ b/Tools/scripts/pathfix.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#!/usr/bin/env python3
# Change the #! line occurring in Python scripts. The new interpreter
# pathname must be given with a -i option.
@@ -43,8 +43,9 @@ def main():
sys.exit(2)
for o, a in opts:
if o == '-i':
- new_interpreter = a
- if not new_interpreter or new_interpreter[0] != '/' or not args:
+ new_interpreter = a.encode()
+ if not new_interpreter or not new_interpreter.startswith(b'/') or \
+ not args:
err('-i option or file-or-directory missing\n')
err(usage)
sys.exit(2)
@@ -61,7 +62,7 @@ def main():
ispythonprog = re.compile('^[a-zA-Z0-9_]+\.py$')
def ispython(name):
- return ispythonprog.match(name) >= 0
+ return bool(ispythonprog.match(name))
def recursedown(dirname):
dbg('recursedown(%r)\n' % (dirname,))
@@ -88,7 +89,7 @@ def recursedown(dirname):
def fix(filename):
## dbg('fix(%r)\n' % (filename,))
try:
- f = open(filename, 'r')
+ f = open(filename, 'rb')
except IOError as msg:
err('%s: cannot open: %r\n' % (filename, msg))
return 1
@@ -101,7 +102,7 @@ def fix(filename):
head, tail = os.path.split(filename)
tempname = os.path.join(head, '@' + tail)
try:
- g = open(tempname, 'w')
+ g = open(tempname, 'wb')
except IOError as msg:
f.close()
err('%s: cannot create: %r\n' % (tempname, msg))
@@ -139,11 +140,11 @@ def fix(filename):
return 0
def fixline(line):
- if not line.startswith('#!'):
+ if not line.startswith(b'#!'):
return line
- if "python" not in line:
+ if b"python" not in line:
return line
- return '#! %s\n' % new_interpreter
+ return b'#! ' + new_interpreter + b'\n'
if __name__ == '__main__':
main()