fixps.py 632 Bytes
Newer Older
1
#! /usr/bin/env python
Guido van Rossum's avatar
Guido van Rossum committed
2

3
# Fix Python script(s) to reference the interpreter via /usr/bin/env python.
Guido van Rossum's avatar
Guido van Rossum committed
4 5 6 7 8 9 10 11 12 13 14

import sys
import regex
import regsub


def main():
	for file in sys.argv[1:]:
		try:
			f = open(file, 'r+')
		except IOError:
15
			print file, ': can\'t open for update'
Guido van Rossum's avatar
Guido van Rossum committed
16 17
			continue
		line = f.readline()
18 19
		if regex.match('^#! */usr/local/bin/python', line) < 0:
			print file, ': not a /usr/local/bin/python script'
Guido van Rossum's avatar
Guido van Rossum committed
20 21 22
			f.close()
			continue
		rest = f.read()
23 24
		line = regsub.sub('/usr/local/bin/python',
				  '/usr/bin/env python', line)
Guido van Rossum's avatar
Guido van Rossum committed
25 26 27 28 29 30 31 32
		print file, ':', `line`
		f.seek(0)
		f.write(line)
		f.write(rest)
		f.close()


main()