summaryrefslogtreecommitdiffstats
path: root/Misc/Fixcprt.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1994-01-26 10:20:16 (GMT)
committerGuido van Rossum <guido@python.org>1994-01-26 10:20:16 (GMT)
commita7925f18ded087c10d2a0f971e320e5f89380288 (patch)
tree5c965cb425f23e5286d1bc94ff01b66039b531c9 /Misc/Fixcprt.py
parent8f0d0c8a210fe80832cbae0cc4a381439647bf9e (diff)
downloadcpython-a7925f18ded087c10d2a0f971e320e5f89380288.zip
cpython-a7925f18ded087c10d2a0f971e320e5f89380288.tar.gz
cpython-a7925f18ded087c10d2a0f971e320e5f89380288.tar.bz2
Initial revision
Diffstat (limited to 'Misc/Fixcprt.py')
-rwxr-xr-xMisc/Fixcprt.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/Misc/Fixcprt.py b/Misc/Fixcprt.py
new file mode 100755
index 0000000..7b447fb
--- /dev/null
+++ b/Misc/Fixcprt.py
@@ -0,0 +1,69 @@
+#! /usr/local/bin/python
+
+import regex
+import regsub
+import glob
+import sys
+import os
+import stat
+import getopt
+
+oldcprt = 'Copyright 1991, 1992, 1993 by Stichting Mathematisch Centrum,\nAmsterdam, The Netherlands.'
+newcprt = 'Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum,\nAmsterdam, The Netherlands.'
+
+oldprog = regex.compile(oldcprt)
+newprog = regex.compile(newcprt)
+
+def main():
+ opts, args = getopt.getopt(sys.argv[1:], 'y:')
+ agelimit = 0L
+ for opt, arg in opts:
+ if opt == '-y':
+ agelimit = os.stat(arg)[stat.ST_MTIME]
+ if not args:
+ args = glob.glob('*.[ch]')
+ for file in args:
+ try:
+ age = os.stat(file)[stat.ST_MTIME]
+ except os.error, msg:
+ print file, ': stat failed :', msg
+ continue
+ if age <= agelimit:
+ print file, ': too old, skipped'
+ continue
+ try:
+ f = open(file, 'r')
+ except IOError, msg:
+ print file, ': open failed :', msg
+ continue
+ head = f.read(1024)
+ if oldprog.search(head) < 0:
+ if newprog.search(head) < 0:
+ print file, ': NO COPYRIGHT FOUND'
+ else:
+ print file, ': (new copyright already there)'
+ f.close()
+ continue
+ newhead = regsub.sub(oldcprt, newcprt, head)
+ data = newhead + f.read()
+ f.close()
+ try:
+ f = open(file + '.new', 'w')
+ except IOError, msg:
+ print file, ': creat failed :', msg
+ continue
+ f.write(data)
+ f.close()
+ try:
+ os.rename(file, file + '~')
+ except IOError, msg:
+ print file, ': rename to backup failed :', msg
+ continue
+ try:
+ os.rename(file + '.new', file)
+ except IOError, msg:
+ print file, ': rename from .new failed :', msg
+ continue
+ print file, ': copyright changed.'
+
+main()