# HG changeset patch
# User Thomas De Schampheleire <[email protected]>
# Date 1552681272 -3600
# Fri Mar 15 21:21:12 2019 +0100
# Node ID 05b0ca99dd46849409c41af32882747f8501db8b
# Parent 06b2154be2cb1242e5af7f7fa95b47059858318e
scripts: extract contributor data out of update-copyrights.py
... to allow re-use in other scripts, like shortlog.py.
diff --git a/scripts/contributor_data.py b/scripts/contributor_data.py
new file mode 100644
--- /dev/null
+++ b/scripts/contributor_data.py
@@ -0,0 +1,89 @@
+# -*- coding: utf-8 -*-
+
+# Some committers are so wrong that it doesn't point at any contributor:
+total_ignore = set()
+total_ignore.add('*** failed to import extension hggit: No module named hggit')
+total_ignore.add('<>')
+
+# Normalize some committer names where people have contributed under different
+# names or email addresses:
+name_fixes = {}
+name_fixes['Andrew Shadura'] = "Andrej Shadura <[email protected]>"
+name_fixes['aparkar'] = "Aparkar <[email protected]>"
+name_fixes['Aras Pranckevicius'] = "Aras Pranckevičius <[email protected]>"
+name_fixes['Augosto Hermann'] = "Augusto Herrmann
<[email protected]>"
+name_fixes['"Bradley M. Kuhn" <[email protected]>'] = "Bradley M. Kuhn
<[email protected]>"
+name_fixes['dmitri.kuznetsov'] = "Dmitri Kuznetsov"
+name_fixes['Dmitri Kuznetsov'] = "Dmitri Kuznetsov"
+name_fixes['domruf'] = "Dominik Ruf <[email protected]>"
+name_fixes['Ingo von borstel'] = "Ingo von Borstel <[email protected]>"
+name_fixes['Jan Heylen'] = "Jan Heylen <[email protected]>"
+name_fixes['Jason F. Harris'] = "Jason Harris <[email protected]>"
+name_fixes['Jelmer Vernooij'] = "Jelmer Vernooij <[email protected]>"
+name_fixes['jfh <[email protected]>'] = "Jason Harris
<[email protected]>"
+name_fixes['Leonardo Carneiro<[email protected]>'] = "Leonardo Carneiro
<[email protected]>"
+name_fixes['leonardo'] = "Leonardo Carneiro <[email protected]>"
+name_fixes['Leonardo <[email protected]>'] = "Leonardo Carneiro
<[email protected]>"
+name_fixes['Les Peabody'] = "Les Peabody <[email protected]>"
+name_fixes['"Lorenzo M. Catucci" <[email protected]>'] = "Lorenzo
M. Catucci <[email protected]>"
+name_fixes['Lukasz Balcerzak'] = "Łukasz Balcerzak <[email protected]>"
+name_fixes['mao <[email protected]>'] = "Ching-Chen Mao
<[email protected]>"
+name_fixes['marcink'] = "Marcin Kuźmiński <[email protected]>"
+name_fixes['Marcin Kuzminski'] = "Marcin Kuźmiński <[email protected]>"
+name_fixes['[email protected]'] = "nansenat16 <[email protected]>"
+name_fixes['Peter Vitt'] = "Peter Vitt <[email protected]>"
+name_fixes['[email protected]'] = "Philip Jameson <[email protected]>"
+name_fixes['Søren Løvborg'] = "Søren Løvborg <[email protected]>"
+name_fixes['Thomas De Schampheleire'] = "Thomas De Schampheleire
<[email protected]>"
+name_fixes['Weblate'] = "<>"
+name_fixes['xpol'] = "xpol <[email protected]>"
+name_fixes['Lars <[email protected]>'] = "Lars Kruse <[email protected]>"
+
+# Some committer email address domains that indicate that another entity might
+# hold some copyright too:
+domain_extra = {}
+domain_extra['unity3d.com'] = "Unity Technologies"
+domain_extra['rhodecode.com'] = "RhodeCode GmbH"
+
+# Repository history show some old contributions that traditionally hasn't been
+# listed in about.html - preserve that:
+no_about = set(total_ignore)
+# The following contributors were traditionally not listed in about.html and it
+# seems unclear if the copyright is personal or belongs to a company.
+no_about.add(('Thayne Harbaugh <[email protected]>', '2011'))
+no_about.add(('Dies Koper <[email protected]>', '2012'))
+no_about.add(('Erwin Kroon <[email protected]>', '2012'))
+no_about.add(('Vincent Caron <[email protected]>', '2012'))
+# These contributors' contributions might be too small to be copyrightable:
+no_about.add(('[email protected]', '2012'))
+no_about.add(('Stefan Engel <[email protected]>', '2012'))
+no_about.add(('Ton Plomp <[email protected]>', '2013'))
+# Was reworked and contributed later and shadowed by other contributions:
+no_about.add(('Sean Farley <[email protected]>', '2013'))
+
+# Preserve contributors listed in about.html but not appearing in repository
+# history:
+other_about = [
+ ("2011", "Aparkar <[email protected]>"),
+ ("2010", "RhodeCode GmbH"),
+ ("2011", "RhodeCode GmbH"),
+ ("2012", "RhodeCode GmbH"),
+ ("2013", "RhodeCode GmbH"),
+]
+
+# Preserve contributors listed in CONTRIBUTORS but not appearing in repository
+# history:
+other_contributors = [
+ ("", "Andrew Kesterson <[email protected]>"),
+ ("", "cejones"),
+ ("", "David A. Sjøen <[email protected]>"),
+ ("", "James Rhodes <[email protected]>"),
+ ("", "Jonas Oberschweiber <[email protected]>"),
+ ("", "larikale"),
+ ("", "RhodeCode GmbH"),
+ ("", "Sebastian Kreutzberger <[email protected]>"),
+ ("", "Steve Romanow <[email protected]>"),
+ ("", "SteveCohen"),
+ ("", "Thomas <[email protected]>"),
+ ("", "Thomas Waldmann <[email protected]>"),
+]
diff --git a/scripts/update-copyrights.py b/scripts/update-copyrights.py
--- a/scripts/update-copyrights.py
+++ b/scripts/update-copyrights.py
@@ -38,100 +38,10 @@ When the copyright might belong to a dif
contributor, the legal entity is given credit too.
"""
-
-# Some committers are so wrong that it doesn't point at any contributor:
-total_ignore = set()
-total_ignore.add('*** failed to import extension hggit: No module named hggit')
-total_ignore.add('<>')
-
-# Normalize some committer names where people have contributed under different
-# names or email addresses:
-name_fixes = {}
-name_fixes['Andrew Shadura'] = "Andrej Shadura <[email protected]>"
-name_fixes['aparkar'] = "Aparkar <[email protected]>"
-name_fixes['Aras Pranckevicius'] = "Aras Pranckevičius <[email protected]>"
-name_fixes['Augosto Hermann'] = "Augusto Herrmann
<[email protected]>"
-name_fixes['"Bradley M. Kuhn" <[email protected]>'] = "Bradley M. Kuhn
<[email protected]>"
-name_fixes['dmitri.kuznetsov'] = "Dmitri Kuznetsov"
-name_fixes['Dmitri Kuznetsov'] = "Dmitri Kuznetsov"
-name_fixes['domruf'] = "Dominik Ruf <[email protected]>"
-name_fixes['Ingo von borstel'] = "Ingo von Borstel <[email protected]>"
-name_fixes['Jan Heylen'] = "Jan Heylen <[email protected]>"
-name_fixes['Jason F. Harris'] = "Jason Harris <[email protected]>"
-name_fixes['Jelmer Vernooij'] = "Jelmer Vernooij <[email protected]>"
-name_fixes['jfh <[email protected]>'] = "Jason Harris
<[email protected]>"
-name_fixes['Leonardo Carneiro<[email protected]>'] = "Leonardo Carneiro
<[email protected]>"
-name_fixes['leonardo'] = "Leonardo Carneiro <[email protected]>"
-name_fixes['Leonardo <[email protected]>'] = "Leonardo Carneiro
<[email protected]>"
-name_fixes['Les Peabody'] = "Les Peabody <[email protected]>"
-name_fixes['"Lorenzo M. Catucci" <[email protected]>'] = "Lorenzo
M. Catucci <[email protected]>"
-name_fixes['Lukasz Balcerzak'] = "Łukasz Balcerzak <[email protected]>"
-name_fixes['mao <[email protected]>'] = "Ching-Chen Mao
<[email protected]>"
-name_fixes['marcink'] = "Marcin Kuźmiński <[email protected]>"
-name_fixes['Marcin Kuzminski'] = "Marcin Kuźmiński <[email protected]>"
-name_fixes['[email protected]'] = "nansenat16 <[email protected]>"
-name_fixes['Peter Vitt'] = "Peter Vitt <[email protected]>"
-name_fixes['[email protected]'] = "Philip Jameson <[email protected]>"
-name_fixes['Søren Løvborg'] = "Søren Løvborg <[email protected]>"
-name_fixes['Thomas De Schampheleire'] = "Thomas De Schampheleire
<[email protected]>"
-name_fixes['Weblate'] = "<>"
-name_fixes['xpol'] = "xpol <[email protected]>"
-name_fixes['Lars <[email protected]>'] = "Lars Kruse <[email protected]>"
-
-
-# Some committer email address domains that indicate that another entity might
-# hold some copyright too:
-domain_extra = {}
-domain_extra['unity3d.com'] = "Unity Technologies"
-domain_extra['rhodecode.com'] = "RhodeCode GmbH"
-
-# Repository history show some old contributions that traditionally hasn't been
-# listed in about.html - preserve that:
-no_about = set(total_ignore)
-# The following contributors were traditionally not listed in about.html and it
-# seems unclear if the copyright is personal or belongs to a company.
-no_about.add(('Thayne Harbaugh <[email protected]>', '2011'))
-no_about.add(('Dies Koper <[email protected]>', '2012'))
-no_about.add(('Erwin Kroon <[email protected]>', '2012'))
-no_about.add(('Vincent Caron <[email protected]>', '2012'))
-# These contributors' contributions might be too small to be copyrightable:
-no_about.add(('[email protected]', '2012'))
-no_about.add(('Stefan Engel <[email protected]>', '2012'))
-no_about.add(('Ton Plomp <[email protected]>', '2013'))
-# Was reworked and contributed later and shadowed by other contributions:
-no_about.add(('Sean Farley <[email protected]>', '2013'))
-
-# Preserve contributors listed in about.html but not appearing in repository
-# history:
-other_about = [
- ("2011", "Aparkar <[email protected]>"),
- ("2010", "RhodeCode GmbH"),
- ("2011", "RhodeCode GmbH"),
- ("2012", "RhodeCode GmbH"),
- ("2013", "RhodeCode GmbH"),
-]
-
-# Preserve contributors listed in CONTRIBUTORS but not appearing in repository
-# history:
-other_contributors = [
- ("", "Andrew Kesterson <[email protected]>"),
- ("", "cejones"),
- ("", "David A. Sjøen <[email protected]>"),
- ("", "James Rhodes <[email protected]>"),
- ("", "Jonas Oberschweiber <[email protected]>"),
- ("", "larikale"),
- ("", "RhodeCode GmbH"),
- ("", "Sebastian Kreutzberger <[email protected]>"),
- ("", "Steve Romanow <[email protected]>"),
- ("", "SteveCohen"),
- ("", "Thomas <[email protected]>"),
- ("", "Thomas Waldmann <[email protected]>"),
-]
-
-
import os
import re
from collections import defaultdict
+import contributor_data
def sortkey(x):
@@ -209,7 +119,7 @@ def insert_entries(
def main():
repo_entries = [
- (year, name_fixes.get(name) or name_fixes.get(name.rsplit('<',
1)[0].strip()) or name)
+ (year, contributor_data.name_fixes.get(name) or
contributor_data.name_fixes.get(name.rsplit('<', 1)[0].strip()) or name)
for year, name in
(line.strip().split(' ', 1)
for line in os.popen("""hg log -r '::.' -T '{date(date,"%Y")}
{author}\n'""").readlines())
@@ -217,9 +127,9 @@ def main():
insert_entries(
filename='kallithea/templates/about.html',
- all_entries=repo_entries + other_about,
- no_entries=no_about,
- domain_extra=domain_extra,
+ all_entries=repo_entries + contributor_data.other_about,
+ no_entries=contributor_data.no_about,
+ domain_extra=contributor_data.domain_extra,
split_re=r'(?: <li>Copyright © [^\n]*</li>\n)*',
normalize_name=lambda name: name.split('<', 1)[0].strip(),
format_f=lambda years, name: ' <li>Copyright © %s, %s</li>\n' %
(nice_years(years, '–', ', '), name),
@@ -227,9 +137,9 @@ def main():
insert_entries(
filename='CONTRIBUTORS',
- all_entries=repo_entries + other_contributors,
- no_entries=total_ignore,
- domain_extra=domain_extra,
+ all_entries=repo_entries + contributor_data.other_contributors,
+ no_entries=contributor_data.total_ignore,
+ domain_extra=contributor_data.domain_extra,
split_re=r'(?: [^\n]*\n)*',
normalize_name=lambda name: name,
format_f=lambda years, name: (' %s%s%s\n' % (name, ' ' if years
else '', nice_years(years))),
@@ -238,7 +148,7 @@ def main():
insert_entries(
filename='kallithea/templates/base/base.html',
all_entries=repo_entries,
- no_entries=total_ignore,
+ no_entries=contributor_data.total_ignore,
domain_extra={},
split_re=r'(?<=©) .* (?=by various authors)',
normalize_name=lambda name: '',
_______________________________________________
kallithea-general mailing list
[email protected]
https://lists.sfconservancy.org/mailman/listinfo/kallithea-general