Improved some error messages for command line processing.
[python/dscho.git] / Tools / scripts / fixps.py
blob7b10c9b808ab92fa571024cd97b57bedb588f02c
1 #! /usr/bin/env python
3 # Fix Python script(s) to reference the interpreter via /usr/bin/env python.
5 import sys
6 import regex
7 import regsub
10 def main():
11 for file in sys.argv[1:]:
12 try:
13 f = open(file, 'r+')
14 except IOError:
15 print file, ': can\'t open for update'
16 continue
17 line = f.readline()
18 if regex.match('^#! */usr/local/bin/python', line) < 0:
19 print file, ': not a /usr/local/bin/python script'
20 f.close()
21 continue
22 rest = f.read()
23 line = regsub.sub('/usr/local/bin/python',
24 '/usr/bin/env python', line)
25 print file, ':', `line`
26 f.seek(0)
27 f.write(line)
28 f.write(rest)
29 f.close()
32 main()