annotate Tools/scripts/fixps.py @ 49955:878d40468c4e legacy-trunk

Issue #4384: Added logging integration with warnings module using captureWarnings(). This change includes a NullHandler which does nothing; it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging.
author Vinay Sajip <vinay_sajip@yahoo.co.uk>
date Wed, 03 Dec 2008 23:22:58 +0000
parents 981fff7363b9
children 6b18a095c2e7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
4154e98d1478 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
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
4154e98d1478 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
5
4154e98d1478 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 import sys
10558
8d2a8a49d983 Use re instead of regex.
Guido van Rossum <guido@python.org>
parents: 4569
diff changeset
7 import re
1104
4154e98d1478 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8
4154e98d1478 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
9
4154e98d1478 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
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
4154e98d1478 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
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()