Changeset - 2786730e56e0
[Not reviewed]
default
0 2 0
Mads Kiilerich - 6 years ago 2020-02-04 03:05:15
mads@kiilerich.com
Grafted from: f7cb2ee1e9d0
scripts: use explicit relative imports of contributor_data

Avoid any ambiguity ... and avoid pytype failing to find
scripts/contributor_data.py when scripts isn't in sys.path.
2 files changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
scripts/shortlog.py
Show inline comments
 
#!/usr/bin/env python2
 
# -*- coding: utf-8 -*-
 

	
 
"""
 
Kallithea script for generating a quick overview of contributors and their
 
commit counts in a given revision set.
 
"""
 
import argparse
 
import os
 
from collections import Counter
 

	
 
import contributor_data
 
from . import contributor_data
 

	
 

	
 
def main():
 

	
 
    parser = argparse.ArgumentParser(description='Generate a list of committers and commit counts.')
 
    parser.add_argument('revset',
 
                        help='revision set specifying the commits to count')
 
    args = parser.parse_args()
 

	
 
    repo_entries = [
 
        (contributor_data.name_fixes.get(name) or contributor_data.name_fixes.get(name.rsplit('<', 1)[0].strip()) or name).rsplit('<', 1)[0].strip()
 
        for name in (line.strip()
 
         for line in os.popen("""hg log -r '%s' -T '{author}\n'""" % args.revset).readlines())
 
        ]
 

	
 
    counter = Counter(repo_entries)
 
    for name, count in counter.most_common():
 
        if name == '':
 
            continue
 
        print('%4s %s' % (count, name))
 

	
 

	
 
if __name__ == '__main__':
 
    main()
scripts/update-copyrights.py
Show inline comments
 
@@ -21,49 +21,49 @@ keep it updated with copyright holders, 
 

	
 
CONTRIBUTORS has the purpose of giving credit where credit is due and list all
 
the contributor names in the source.
 

	
 
kallithea/templates/base/base.html contains the copyright years in the page
 
footer.
 

	
 
Both make a best effort of listing all copyright holders, but revision control
 
history might be a better and more definitive source.
 

	
 
Contributors are sorted "fairly" by copyright year and amount of
 
contribution.
 

	
 
New contributors are listed, without considering if the contribution contains
 
copyrightable work.
 

	
 
When the copyright might belong to a different legal entity than the
 
contributor, the legal entity is given credit too.
 
"""
 

	
 
import os
 
import re
 
from collections import defaultdict
 

	
 
import contributor_data
 
from . import contributor_data
 

	
 

	
 
def sortkey(x):
 
    """Return key for sorting contributors "fairly":
 
    * latest contribution
 
    * first contribution
 
    * number of contribution years
 
    * name (with some unicode normalization)
 
    The entries must be 2-tuples of a list of string years and the unicode name"""
 
    return (x[0] and -int(x[0][-1]),
 
            x[0] and int(x[0][0]),
 
            -len(x[0]),
 
            x[1].decode('utf-8').lower().replace(u'\xe9', u'e').replace(u'\u0142', u'l')
 
        )
 

	
 

	
 
def nice_years(l, dash='-', join=' '):
 
    """Convert a list of years into brief range like '1900-1901, 1921'."""
 
    if not l:
 
        return ''
 
    start = end = int(l[0])
 
    ranges = []
 
    for year in l[1:] + [0]:
 
        year = int(year)
0 comments (0 inline, 0 general)