Mercurial > cpython-lru_cache-weakref
annotate Tools/scripts/fixps.py @ 80661:94de77bd0b4b 2.7
Issue #16194: document imp.load_dynamic problems
when read several extension modules from the same binary object file.
| author | Andrew Svetlov <andrew.svetlov@gmail.com> |
|---|---|
| date | Thu, 29 Nov 2012 19:51:28 +0200 |
| parents | 981fff7363b9 |
| children | 6b18a095c2e7 |
| rev | line source |
|---|---|
|
10558
8d2a8a49d983
Use re instead of regex.
Guido van Rossum <guido@python.org>
parents:
4569
diff
changeset
|
1 #!/usr/bin/env python |
| 1104 | 2 |
|
4569
e708f568b8b7
Changed so that it replaces /usr/local/bin/python with /usr/bin/env python.
Guido van Rossum <guido@python.org>
parents:
1106
diff
changeset
|
3 # Fix Python script(s) to reference the interpreter via /usr/bin/env python. |
|
10558
8d2a8a49d983
Use re instead of regex.
Guido van Rossum <guido@python.org>
parents:
4569
diff
changeset
|
4 # Warning: this overwrites the file without making a backup. |
| 1104 | 5 |
| 6 import sys | |
|
10558
8d2a8a49d983
Use re instead of regex.
Guido van Rossum <guido@python.org>
parents:
4569
diff
changeset
|
7 import re |
| 1104 | 8 |
| 9 | |
| 10 def main(): | |
|
29107
93c92f20b6bf
Fix use of 'file' as a variable name.
Andrew M. Kuchling <amk@amk.ca>
parents:
15930
diff
changeset
|
11 for filename in sys.argv[1:]: |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
12 try: |
|
29107
93c92f20b6bf
Fix use of 'file' as a variable name.
Andrew M. Kuchling <amk@amk.ca>
parents:
15930
diff
changeset
|
13 f = open(filename, 'r') |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
14 except IOError, msg: |
|
29107
93c92f20b6bf
Fix use of 'file' as a variable name.
Andrew M. Kuchling <amk@amk.ca>
parents:
15930
diff
changeset
|
15 print filename, ': can\'t open :', msg |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
16 continue |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
17 line = f.readline() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
18 if not re.match('^#! */usr/local/bin/python', line): |
|
29107
93c92f20b6bf
Fix use of 'file' as a variable name.
Andrew M. Kuchling <amk@amk.ca>
parents:
15930
diff
changeset
|
19 print filename, ': not a /usr/local/bin/python script' |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
20 f.close() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
21 continue |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
22 rest = f.read() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
23 f.close() |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
24 line = re.sub('/usr/local/bin/python', |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
25 '/usr/bin/env python', line) |
|
31515
71a294bd7950
Replace backticks with repr() or "%r"
Walter Dörwald <walter@livinglogic.de>
parents:
29107
diff
changeset
|
26 print filename, ':', repr(line) |
|
29107
93c92f20b6bf
Fix use of 'file' as a variable name.
Andrew M. Kuchling <amk@amk.ca>
parents:
15930
diff
changeset
|
27 f = open(filename, "w") |
|
15930
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
28 f.write(line) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
29 f.write(rest) |
|
14a27acc755a
Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents:
10558
diff
changeset
|
30 f.close() |
| 1104 | 31 |
|
33074
981fff7363b9
[Patch #1005491 ] use __name__ == '__main__' in scripts
Andrew M. Kuchling <amk@amk.ca>
parents:
31515
diff
changeset
|
32 if __name__ == '__main__': |
|
981fff7363b9
[Patch #1005491 ] use __name__ == '__main__' in scripts
Andrew M. Kuchling <amk@amk.ca>
parents:
31515
diff
changeset
|
33 main() |
