From: W. Trevor King Date: Thu, 9 Feb 2012 19:01:12 +0000 (-0500) Subject: Merge Hooke and BE branches of update-copyright. X-Git-Tag: v0.2~18 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=40317b53702aabc925e479a586a45f43af0111ef;p=update-copyright.git Merge Hooke and BE branches of update-copyright. --- 40317b53702aabc925e479a586a45f43af0111ef diff --cc update_copyright.py index a600eac,ca7417d..4ca5e64 --- a/update_copyright.py +++ b/update_copyright.py @@@ -1,29 -1,28 +1,32 @@@ #!/usr/bin/python # - # Copyright (C) 2009-2010 W. Trevor King -# Copyright (C) 2010 W. Trevor King ++# Copyright (C) 2009-2012 W. Trevor King # - # This file is part of Bugs Everywhere. -# This file is part of Hooke. ++# This file is part of update-copyright. # - # Bugs Everywhere is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by the - # Free Software Foundation, either version 2 of the License, or (at your - # option) any later version. -# 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. ++# update-copyright is free software: you can redistribute it and/or ++# modify it under the terms of the GNU General Public License as ++# published by the Free Software Foundation, either version 3 of the ++# License, or (at your option) any later version. # - # Bugs Everywhere is distributed in the hope that it will be useful, but - # WITHOUT ANY WARRANTY; without even the implied warranty of -# Hooke is distributed in the hope that it will be useful, ++# update-copyright 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. +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# 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 +# You should have received a copy of the GNU General Public License - # along with Bugs Everywhere. If not, see . ++# along with update-copyright. If not, see + # . """Automatically update copyright boilerplate. -This script is adapted from one written for `Bugs Everywhere`_. +This script is adapted from one written for `Bugs Everywhere`_. and - later modified for `Hooke`_ before returning to `Bugs Everywhere`_. ++later modified for `Hooke`_ before returning to `Bugs Everywhere`_. I ++finally gave up on maintaining separate versions, so here it is as a ++stand-alone module. .. _Bugs Everywhere: http://bugseverywhere.org/ +.. _Hooke: http://code.google.com/p/hooke/ """ import difflib @@@ -36,28 -35,22 +39,22 @@@ import tim PROJECT_INFO = { - 'project': 'Bugs Everywhere', - 'project': 'Hooke', ++ 'project': 'update-copyright', 'vcs': 'Git', } # Break "copyright" into "copy" and "right" to avoid matching the - # REGEXP. - COPY_RIGHT_TEXT=""" - This file is part of %(project)s. - - %(project)s is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation, either version 2 of the License, or (at your - option) any later version. - - %(project)s 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 - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with %(project)s. If not, see . - """.strip() + # REGEXP if we decide to go back to regexps. + COPY_RIGHT_TEXT = [ + 'This file is part of %(project)s.', - '%(project)s 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.', - '%(project)s 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 %(project)s. If not, see .' ++ '%(project)s is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.', ++ '%(project)s 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 General Public License for more details.', ++ 'You should have received a copy of the GNU General Public License along with %(project)s. If not, see .' + ] + + SHORT_COPY_RIGHT_TEXT = [ - '%(project)s comes with ABSOLUTELY NO WARRANTY and is licensed under the GNU Lesser General Public License. For details, %(get-details)s.' ++ '%(project)s comes with ABSOLUTELY NO WARRANTY and is licensed under the GNU General Public License. For details, %(get-details)s.' + ] COPY_RIGHT_TAG='-xyz-COPY' + '-RIGHT-zyx-' # unlikely to occur in the wild :p @@@ -70,32 -63,35 +67,14 @@@ # } # Git-based projects are encouraged to use .mailmap instead of # ALIASES. See git-shortlog(1) for details. --ALIASES = { - 'Aaron Bentley ': - ['Aaron Bentley '], - 'Panometrics, Inc.': - ['Aaron Bentley and Panometrics, Inc.'], - 'Ben Finney ': - ['Ben Finney ', - 'John Doe '], - 'Chris Ball ': - ['Chris Ball '], - 'Gianluca Montecchi ': - ['gian ', - 'gianluca '], - 'W. Trevor King ': - ['wking ', - 'wking '], - None: - ['j^ '], - 'A. Seeholzer': - ['A. Seeholzer'], - 'Alberto Gomez-Casado': - ['albertogomcas'], - 'Massimo Sandal ': - ['Massimo Sandal', - 'devicerandom', - 'unknown'], - 'Fabrizio Benedetti': - ['fabrizio.benedetti.82'], - 'Richard Naud ': - ['Richard Naud'], - 'Rolf Schmidt ': - ['Rolf Schmidt', - 'illysam'], - 'Marco Brucale': - ['marcobrucale'], - 'Pancaldi Paolo': - ['pancaldi.paolo'], -- } ++ALIASES = {} # List of paths that should not be scanned for copyright updates. # IGNORED_PATHS = ['./.git/'] - IGNORED_PATHS = ['./.be/', './.git/', './build/', './doc/.build/'] -IGNORED_PATHS = ['./.hg/', './doc/img/', './test/data/', - './build/', './doc/build/'] ++IGNORED_PATHS = ['./.git'] # List of files that should not be scanned for copyright updates. # IGNORED_FILES = ['COPYING'] - IGNORED_FILES = ['COPYING', 'catmutt'] -IGNORED_FILES = ['COPYING', 'COPYING.LESSER'] ++IGNORED_FILES = ['COPYING'] # Work around missing author holes in the VCS history. # AUTHOR_HACKS[] = [ This file... + >>> print _copyright_string(original_year=2005, + ... final_year=2005, + ... authors=['A ', 'B '], + ... text=SHORT_COPY_RIGHT_TEXT, + ... author_format_fn=_short_author_formatter, + ... extra_info={'get-details':'%(get-details)s'}, + ... prefix='', + ... width=50, + ... ) + Copyright (C) 2005 A , B + - Hooke comes with ABSOLUTELY NO WARRANTY and is - licensed under the GNU Lesser General Public ++ update-copyright comes with ABSOLUTELY NO WARRANTY ++ and is licensed under the GNU General Public + License. For details, %(get-details)s. ++ + >>> print _copyright_string(original_year=2005, + ... final_year=2005, + ... authors=['A ', 'B '], + ... text=SHORT_COPY_RIGHT_TEXT, + ... extra_info={'get-details':'%(get-details)s'}, + ... author_format_fn=_short_author_formatter, + ... wrap=False, + ... prefix='', + ... ) + Copyright (C) 2005 A , B + - Hooke comes with ABSOLUTELY NO WARRANTY and is licensed under the GNU Lesser General Public License. For details, %(get-details)s. ++ update-copyright comes with ABSOLUTELY NO WARRANTY and is licensed under the GNU General Public License. For details, %(get-details)s. """ + for key in ['initial_indent', 'subsequent_indent']: + if key not in wrap_kwargs: + wrap_kwargs[key] = prefix + if original_year == final_year: date_range = '%s' % original_year else: