blob: 665c1a297624073f2705ad460b6ab705ad3819cc [file] [log] [blame]
Guido van Rossumd68a4bd1999-04-09 14:56:35 +00001#!/usr/bin/env python
Guido van Rossum1d974171992-12-09 23:14:40 +00002
Guido van Rossum499181a1996-11-27 19:43:49 +00003# Fix Python script(s) to reference the interpreter via /usr/bin/env python.
Guido van Rossumd68a4bd1999-04-09 14:56:35 +00004# Warning: this overwrites the file without making a backup.
Guido van Rossum1d974171992-12-09 23:14:40 +00005
6import sys
Guido van Rossumd68a4bd1999-04-09 14:56:35 +00007import re
Guido van Rossum1d974171992-12-09 23:14:40 +00008
9
10def main():
11 for file in sys.argv[1:]:
12 try:
Guido van Rossumd68a4bd1999-04-09 14:56:35 +000013 f = open(file, 'r')
14 except IOError, msg:
15 print file, ': can\'t open :', msg
Guido van Rossum1d974171992-12-09 23:14:40 +000016 continue
17 line = f.readline()
Guido van Rossumd68a4bd1999-04-09 14:56:35 +000018 if not re.match('^#! */usr/local/bin/python', line):
Guido van Rossum499181a1996-11-27 19:43:49 +000019 print file, ': not a /usr/local/bin/python script'
Guido van Rossum1d974171992-12-09 23:14:40 +000020 f.close()
21 continue
22 rest = f.read()
Guido van Rossumd68a4bd1999-04-09 14:56:35 +000023 f.close()
24 line = re.sub('/usr/local/bin/python',
25 '/usr/bin/env python', line)
Guido van Rossum1d974171992-12-09 23:14:40 +000026 print file, ':', `line`
Guido van Rossumd68a4bd1999-04-09 14:56:35 +000027 f = open(file, "w")
Guido van Rossum1d974171992-12-09 23:14:40 +000028 f.write(line)
29 f.write(rest)
30 f.close()
31
32
33main()