| #! /usr/local/bin/python | 
 |  | 
 | import regex | 
 | import regsub | 
 | import glob | 
 | import sys | 
 | import os | 
 | import stat | 
 | import getopt | 
 |  | 
 | oldcprt = """\ | 
 | Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum, | 
 | Amsterdam, The Netherlands.""" | 
 | newcprt = """\ | 
 | Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam, | 
 | The Netherlands.""" | 
 |  | 
 | oldprog = regex.compile(oldcprt) | 
 | newprog = regex.compile(newcprt) | 
 |  | 
 | HEADSIZE = 1024 | 
 |  | 
 | 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(HEADSIZE) | 
 | 		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() |