X-Git-Url: http://git.tremily.us/?p=update-copyright.git;a=blobdiff_plain;f=update_copyright.py;h=37f4ba5fa841cf234a3b35d30dcd71d6149503bd;hp=b96ded0eae24781fb16010a3a9d2d42f468e1732;hb=60456481fe446c4ed2c1fa23ff65cc242952f410;hpb=8ef3d573a9c07b5d1120144acef4c0eb8d7f3ac3 diff --git a/update_copyright.py b/update_copyright.py index b96ded0..37f4ba5 100755 --- a/update_copyright.py +++ b/update_copyright.py @@ -1,6 +1,22 @@ #!/usr/bin/python # -# Copyright +# Copyright (C) 2010 W. Trevor King +# +# This file is part of Hooke. +# +# Hooke is free software: you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation, either +# version 3 of the License, or (at your option) any later version. +# +# Hooke is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with Hooke. If not, see +# . """Automatically update copyright boilerplate. @@ -71,8 +87,8 @@ ALIASES = { ['pancaldi.paolo'], } -IGNORED_PATHS = ['./.hg/', './doc/img', './test/data/', - './build/', '/doc/build/'] +IGNORED_PATHS = ['./.hg/', './doc/img/', './test/data/', + './build/', './doc/build/'] IGNORED_FILES = ['COPYING', 'COPYING.LESSER'] # Work around missing author holes in the VCS history @@ -81,7 +97,7 @@ AUTHOR_HACKS = { ('hooke','driver','mcs.py'):['Allen Chen'], ('hooke','driver','mfp3d.py'):['A. Seeholzer','Richard Naud','Rolf Schmidt', 'Alberto Gomez-Casado'], - ('hooke','plugin','peakspot.py'):['Fabrizio Benedetti'], + ('hooke','util','peak.py'):['Fabrizio Benedetti'], ('hooke','plugin','showconvoluted.py'):['Rolf Schmidt'], ('hooke','ui','gui','formatter.py'):['Francesco Musiani','Massimo Sandal'], ('hooke','ui','gui','prettyformat.py'):['Rolf Schmidt'], @@ -93,7 +109,7 @@ YEAR_HACKS = { ('hooke','driver','mfp3d.py'):2008, ('hooke','driver','picoforce.py'):2006, ('hooke','driver','picoforcealt.py'):2006, - ('hooke','plugin','peakspot.py'):2007, + ('hooke','util','peak.py'):2007, ('hooke','plugin','showconvoluted.py'):2009, ('hooke','plugin','tutorial.py'):2007, ('hooke','ui','gui','formatter.py'):2006, @@ -162,10 +178,13 @@ def authors(filename, author_hacks=AUTHOR_HACKS): ret.extend(author_hacks[splitpath(filename)]) return ret -def authors_list(): +def authors_list(author_hacks=AUTHOR_HACKS): output,error = mercurial_cmd('log', '--follow', '--template', '{author}\n') - return list(set(output.splitlines())) + ret = list(set(output.splitlines())) + for path,authors in author_hacks.items(): + ret.extend(authors) + return ret def is_versioned(filename): output,error = mercurial_cmd('log', '--follow', @@ -416,9 +435,11 @@ def _set_contents(filename, contents, original_contents=None, dry_run=False, # Update commands def update_authors(authors_fn=authors_list, dry_run=False, verbose=0): + authors = authors_fn() + authors = _replace_aliases(authors, with_email=True, aliases=ALIASES) new_contents = '%s was written by:\n%s\n' % ( PROJECT_INFO['project'], - '\n'.join(authors_fn()) + '\n'.join(authors) ) _set_contents('AUTHORS', new_contents, dry_run=dry_run, verbose=verbose)