Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Python solution, modify for your own need</p> <p>Features:</p> <ul> <li>handles UTF headers (important for most IDEs)</li> <li>recursively updates all files in target directory passing given mask (modify the .endswith parameter for the filemask of your language (.c, .java, ..etc)</li> <li>ability to overwrite previous copyright text (provide old copyright parameter to do this)</li> <li>optionally omits directories given in the excludedir array</li> </ul> <p>-</p> <pre><code># updates the copyright information for all .cs files # usage: call recursive_traversal, with the following parameters # parent directory, old copyright text content, new copyright text content import os excludedir = ["..\\Lib"] def update_source(filename, oldcopyright, copyright): utfstr = chr(0xef)+chr(0xbb)+chr(0xbf) fdata = file(filename,"r+").read() isUTF = False if (fdata.startswith(utfstr)): isUTF = True fdata = fdata[3:] if (oldcopyright != None): if (fdata.startswith(oldcopyright)): fdata = fdata[len(oldcopyright):] if not (fdata.startswith(copyright)): print "updating "+filename fdata = copyright + fdata if (isUTF): file(filename,"w").write(utfstr+fdata) else: file(filename,"w").write(fdata) def recursive_traversal(dir, oldcopyright, copyright): global excludedir fns = os.listdir(dir) print "listing "+dir for fn in fns: fullfn = os.path.join(dir,fn) if (fullfn in excludedir): continue if (os.path.isdir(fullfn)): recursive_traversal(fullfn, oldcopyright, copyright) else: if (fullfn.endswith(".cs")): update_source(fullfn, oldcopyright, copyright) oldcright = file("oldcr.txt","r+").read() cright = file("copyrightText.txt","r+").read() recursive_traversal("..", oldcright, cright) exit() </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload