Guido van Rossum | 499181a | 1996-11-27 19:43:49 +0000 | [diff] [blame] | 1 | #! /usr/bin/env python |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 2 | |
Guido van Rossum | 499181a | 1996-11-27 19:43:49 +0000 | [diff] [blame] | 3 | # Fix Python script(s) to reference the interpreter via /usr/bin/env python. |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 4 | |
| 5 | import sys |
| 6 | import regex |
| 7 | import regsub |
| 8 | |
| 9 | |
| 10 | def main(): |
| 11 | for file in sys.argv[1:]: |
| 12 | try: |
| 13 | f = open(file, 'r+') |
| 14 | except IOError: |
Guido van Rossum | cf5dd9c | 1992-12-10 00:01:24 +0000 | [diff] [blame] | 15 | print file, ': can\'t open for update' |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 16 | continue |
| 17 | line = f.readline() |
Guido van Rossum | 499181a | 1996-11-27 19:43:49 +0000 | [diff] [blame] | 18 | if regex.match('^#! */usr/local/bin/python', line) < 0: |
| 19 | print file, ': not a /usr/local/bin/python script' |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 20 | f.close() |
| 21 | continue |
| 22 | rest = f.read() |
Guido van Rossum | 499181a | 1996-11-27 19:43:49 +0000 | [diff] [blame] | 23 | line = regsub.sub('/usr/local/bin/python', |
| 24 | '/usr/bin/env python', line) |
Guido van Rossum | 1d97417 | 1992-12-09 23:14:40 +0000 | [diff] [blame] | 25 | print file, ':', `line` |
| 26 | f.seek(0) |
| 27 | f.write(line) |
| 28 | f.write(rest) |
| 29 | f.close() |
| 30 | |
| 31 | |
| 32 | main() |