annotate Tools/scripts/fixnotice.py @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents a360dc1fa558
children 7a9afaba88d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4567
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 #! /usr/bin/env python
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 OLD_NOTICE = """
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 Permission to use, copy, modify, and distribute this software and its
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 documentation for any purpose and without fee is hereby granted,
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 provided that the above copyright notice appear in all copies and that
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 both that copyright notice and this permission notice appear in
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 supporting documentation, and that the names of Stichting Mathematisch
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 Centrum or CWI not be used in advertising or publicity pertaining to
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 distribution of the software without specific, written prior permission.
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
11
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 """
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
20
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 NEW_NOTICE = """
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 Permission to use, copy, modify, and distribute this software and its
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 documentation for any purpose and without fee is hereby granted,
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 provided that the above copyright notice appear in all copies and that
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 both that copyright notice and this permission notice appear in
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 supporting documentation, and that the names of Stichting Mathematisch
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 Centrum or CWI or Corporation for National Research Initiatives or
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 CNRI not be used in advertising or publicity pertaining to
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 distribution of the software without specific, written prior
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 permission.
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
31
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 While CWI is the initial source for this software, a modified version
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 is made available by the Corporation for National Research Initiatives
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 (CNRI) at the Internet address ftp://ftp.python.org.
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
35
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 PERFORMANCE OF THIS SOFTWARE.
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 """
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
45
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 # " <-- Help Emacs
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
47
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 import os, sys, string
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
49
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 def main():
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 args = sys.argv[1:]
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 if not args:
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
53 print "No arguments."
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 for arg in args:
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 process(arg)
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
56
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 def process(arg):
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 f = open(arg)
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
59 data = f.read()
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
60 f.close()
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 i = string.find(data, OLD_NOTICE)
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 if i < 0:
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 ## print "No old notice in", arg
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 return
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
65 data = data[:i] + NEW_NOTICE + data[i+len(OLD_NOTICE):]
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
66 new = arg + ".new"
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
67 backup = arg + ".bak"
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
68 print "Replacing notice in", arg, "...",
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
69 sys.stdout.flush()
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 f = open(new, "w")
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 f.write(data)
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 f.close()
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 os.rename(arg, backup)
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 os.rename(new, arg)
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
75 print "done"
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
76
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
77 if __name__ == '__main__':
a360dc1fa558 Script to fix cprt notice
Guido van Rossum <guido@python.org>
parents:
diff changeset
78 main()