#!/usr/local/bin/python

import regex, sys, getopt, os

verbose = 0

def dofile(name, outfilename):
    try:
	pattern = regex.compile('^\\(.*\\)@[C]OPYRIGHT@');
	infile = open(name, 'r')
	mode = os.fstat(infile.fileno())[0]
	outfile = open(outfilename, 'w');

	l = infile.readline()
	while l != '':
	    if pattern.match(l) != -1:
		for repl in copyrightlines:
		    outfile.write(pattern.group(1) + repl)
	    else:
		outfile.write(l)
	    l = infile.readline()
	infile.close()
	outfile.close()
	os.chmod(outfilename, mode)
	if verbose:
	    print '%s -> %s' % (name, outfilename)
    except IOError, detail:
	print detail

copyrightfilename = 'copyright'
mode = 'one'

optlist, args = getopt.getopt(sys.argv[1:], 'c:p:v')
for opt in optlist:
    if opt[0] == '-c':
	copyrightfilename = opt[1]
    elif opt[0] == '-p':
	mode = 'many'
	outprefix = opt[1]
	if outprefix[-1:] != '/':
	    outprefix = outprefix + '/'
    elif opt[0] == '-v':
	verbose = 1

copyrightfile = open(copyrightfilename, 'r')
copyrightlines = copyrightfile.readlines()
copyrightfile.close()

if mode == 'one':
    dofile(args[0], args[1])
else:
    for file in args:
	dofile(file, outprefix + file);

# Local Variables:
# mode: python
# End:
