Changeset - 96b43734025f
[Not reviewed]
default
0 2 0
Mads Kiilerich (mads) - 6 years ago 2020-03-28 22:41:12
mads@kiilerich.com
scripts: use plain import of contributor_data

Relative import failed with:

Traceback (most recent call last):
File "scripts/update-copyrights.py", line 45, in <module>
from . import contributor_data
ImportError: attempted relative import with no known parent package

Fixed by backing out changeset 2786730e56e0. The pytype problem can be solved
differently.
2 files changed with 2 insertions and 2 deletions:
0 comments (0 inline, 0 general)
scripts/shortlog.py
Show inline comments
 
#!/usr/bin/env python3
 
# -*- 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
 

	
 
from . import contributor_data
 
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
 

	
 
from . import contributor_data
 
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 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('\xe9', 'e').replace('\u0142', '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)