76 lines
2.2 KiB
Python
Executable File
76 lines
2.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
#
|
|
# Copyright (C) 2012-2013 The ViewCVS Group. All Rights Reserved.
|
|
#
|
|
# By using this file, you agree to the terms and conditions set forth in
|
|
# the LICENSE.html file which can be found at the top level of the ViewVC
|
|
# distribution or at http://viewvc.org/license-1.html.
|
|
#
|
|
# For more information, visit http://viewvc.org/
|
|
#
|
|
# -----------------------------------------------------------------------
|
|
#
|
|
# bump-copyright-years: internal tool for bumping copyright years
|
|
#
|
|
# -----------------------------------------------------------------------
|
|
#
|
|
import sys
|
|
import os
|
|
import time
|
|
import re
|
|
|
|
_copyright_re = re.compile(r'Copyright (\(C\)|©) ([0-9]{4}-)?([0-9]{4}) The ViewCVS Group')
|
|
|
|
def replace_end_year(path, year):
|
|
updated = False
|
|
lines = open(path, 'r').readlines()
|
|
for i in range(len(lines)):
|
|
line = lines[i]
|
|
new_line = None
|
|
m = _copyright_re.search(line)
|
|
if not m:
|
|
continue
|
|
if m.group(2):
|
|
lines[i] = line[:m.start(3)] + year + line[m.end(3):]
|
|
open(path, 'w').write(''.join(lines))
|
|
break
|
|
elif m.group(3) != year:
|
|
lines[i] = line[:m.end(3)] + '-' + year + line[m.end(3):]
|
|
open(path, 'w').write(''.join(lines))
|
|
break
|
|
|
|
def bump_years_recursive(target_dir, year):
|
|
children = os.listdir(target_dir)
|
|
for child in children:
|
|
child_path = os.path.join(target_dir, child)
|
|
if os.path.isfile(child_path):
|
|
replace_end_year(child_path, year)
|
|
elif os.path.isdir(child_path):
|
|
bump_years_recursive(child_path, year)
|
|
|
|
def bump_years(target_dir):
|
|
year = time.strftime('%Y')
|
|
long_date = time.strftime('%B %d, %Y')
|
|
bump_years_recursive(target_dir, year)
|
|
sys.stdout.write("""\
|
|
Copyright years bumped. Don't forget to add the following line to
|
|
the primary license file at '%s':
|
|
|
|
<li>%s — copyright years updated</li>
|
|
|
|
""" % (os.path.join(target_dir, 'LICENSE.html'), long_date))
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
target_dir = sys.argv[1]
|
|
except:
|
|
sys.stderr.write("""\
|
|
Usage: bump-copyright-years VIEWVC_DIRECTORY
|
|
|
|
Recursively update the copyright years associated with files carrying
|
|
'The ViewCVS Group' copyright in and under VIEWVC_DIRECTORY to include
|
|
the current year.
|
|
""")
|
|
sys.exit(1)
|
|
bump_years(target_dir)
|