annotate Misc/Fixcprt.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 73758db2f464
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4573
73758db2f464 /usr/local/bin/python -> /usr/bin/env python
Guido van Rossum <guido@python.org>
parents: 2068
diff changeset
1 #! /usr/bin/env python
1529
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 import regex
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 import regsub
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 import glob
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 import sys
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 import os
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 import stat
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 import getopt
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
10
2068
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
11 oldcprt = """\
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
12 Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum,
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
13 Amsterdam, The Netherlands."""
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
14 newcprt = """\
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
15 Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
16 The Netherlands."""
1529
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 oldprog = regex.compile(oldcprt)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 newprog = regex.compile(newcprt)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20
2068
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
21 HEADSIZE = 1024
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
22
1529
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 def main():
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 opts, args = getopt.getopt(sys.argv[1:], 'y:')
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 agelimit = 0L
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 for opt, arg in opts:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 if opt == '-y':
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 agelimit = os.stat(arg)[stat.ST_MTIME]
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 if not args:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 args = glob.glob('*.[ch]')
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 for file in args:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 try:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 age = os.stat(file)[stat.ST_MTIME]
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 except os.error, msg:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 print file, ': stat failed :', msg
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 continue
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 if age <= agelimit:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 print file, ': too old, skipped'
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 continue
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 try:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 f = open(file, 'r')
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 except IOError, msg:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 print file, ': open failed :', msg
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 continue
2068
5227324d64e4 Added 1995 to copyright message; added a few people to acks again...
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
45 head = f.read(HEADSIZE)
1529
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 if oldprog.search(head) < 0:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 if newprog.search(head) < 0:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 print file, ': NO COPYRIGHT FOUND'
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 else:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 print file, ': (new copyright already there)'
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 f.close()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 continue
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
53 newhead = regsub.sub(oldcprt, newcprt, head)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 data = newhead + f.read()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 f.close()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 try:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 f = open(file + '.new', 'w')
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 except IOError, msg:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
59 print file, ': creat failed :', msg
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
60 continue
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 f.write(data)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 f.close()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 try:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 os.rename(file, file + '~')
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
65 except IOError, msg:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
66 print file, ': rename to backup failed :', msg
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
67 continue
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
68 try:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
69 os.rename(file + '.new', file)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 except IOError, msg:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 print file, ': rename from .new failed :', msg
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 continue
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 print file, ': copyright changed.'
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
74
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
75 main()