Files
@ 3b1b440b5082
Branch filter:
Location: kallithea/scripts/shortlog.py - annotation
3b1b440b5082
1.0 KiB
text/x-python
celery: use the proper configured global app for scheduling and retrieving tasks
193138922d56 broke celery, due to magic dependencies on initialization and
setting global configuration at import time.
Instead, always use the correctly configured global Celery app, both when
creating tasks and checking result status.
This has been tested to work on Python 3.6 - for example for sending mails and
forking repos.
Celery has however been found to not work on Python 3.7, due to Celery 3.x
using the new reserved keyword 'async'.
193138922d56 broke celery, due to magic dependencies on initialization and
setting global configuration at import time.
Instead, always use the correctly configured global Celery app, both when
creating tasks and checking result status.
This has been tested to work on Python 3.6 - for example for sending mails and
forking repos.
Celery has however been found to not work on Python 3.7, due to Celery 3.x
using the new reserved keyword 'async'.
aa6f17a53b49 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 0a277465fddf 2786730e56e0 30e3d0a14f09 0a277465fddf 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 30e3d0a14f09 | #!/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
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()
|