diff options
author | Guido van Rossum <guido@python.org> | 1994-01-26 10:20:16 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1994-01-26 10:20:16 (GMT) |
commit | a7925f18ded087c10d2a0f971e320e5f89380288 (patch) | |
tree | 5c965cb425f23e5286d1bc94ff01b66039b531c9 /Misc/Fixcprt.py | |
parent | 8f0d0c8a210fe80832cbae0cc4a381439647bf9e (diff) | |
download | cpython-a7925f18ded087c10d2a0f971e320e5f89380288.zip cpython-a7925f18ded087c10d2a0f971e320e5f89380288.tar.gz cpython-a7925f18ded087c10d2a0f971e320e5f89380288.tar.bz2 |
Initial revision
Diffstat (limited to 'Misc/Fixcprt.py')
-rwxr-xr-x | Misc/Fixcprt.py | 69 |
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() |