From 27e0bd7e00c231d42dd69bd2cfa13b0b36c80b71 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sun, 3 Apr 2016 11:58:20 +0200 Subject: move from python to php scripts --- AUTHORS.md | 9 ++++---- bin/git/hooks/pre-commit | 10 ++------- bin/tools/generate_authors.php | 36 ++++++++++++++++++++++++++++++++ bin/tools/generate_authors.py | 47 ------------------------------------------ 4 files changed, 43 insertions(+), 59 deletions(-) create mode 100644 bin/tools/generate_authors.php delete mode 100644 bin/tools/generate_authors.py diff --git a/AUTHORS.md b/AUTHORS.md index 1c51176cb..597e66d7c 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -10,7 +10,6 @@ * [bastei](mailto:bastei@users.noreply.github.com) * [Thomas Müller](mailto:thomas.mueller@tmit.eu) * [Hoàng Đức Hiếu](mailto:hdhoang@zahe.me) -* [Bernhard Posselt](mailto:BernhardPosselt@users.noreply.github.com) * [Lukas Reschke](mailto:lukas@owncloud.com) * [Bart Visscher](mailto:bartv@thisnet.nl) * [Christian Elmer](mailto:christian@keinkurt.de) @@ -18,6 +17,7 @@ * [Volkan Gezer](mailto:volkangezer@gmail.com) * [Xéfir Destiny](mailto:xefir@crystalyx.net) * [David-Development](mailto:david-dev@live.de) +* [IBBoard](mailto:dev@ibboard.co.uk) * [Lars Bensmann](mailto:lars@almosthappy.de) * [bluehaze](mailto:francesco.sportolari@gmail.com) * [darkside40](mailto:darkside401@googlemail.com) @@ -25,20 +25,20 @@ * [Jakob Sack](mailto:mail@jakobsack.de) * [Qingping Hou](mailto:dave2008713@gmail.com) * [Andreas Fischer](mailto:bantu@owncloud.com) -* [IBBoard](mailto:dev@ibboard.co.uk) -* [IBBoard](mailto:github@ibboard.co.uk) * [John Kristensen](mailto:john@jerrykan.com) * [Konrad Graefe](mailto:konradgraefe@aol.com) +* [Loki3000](mailto:github@labcms.ru) * [Maik Kulbe](mailto:info@linux-web-development.de) * [Michael Gapczynski](mailto:mtgap@owncloud.com) +* [Nikita Chernyi](mailto:rakshazi@users.noreply.github.com) * [Peter Hedlund](mailto:peter@peterandlinda.com) +* [bbBowser](mailto:carspi@mail.de) * [benediktb](mailto:benedikt@blablub.de) * [davidak](mailto:git@davidak.de) * [lsmooth](mailto:ls@lsmooth.de) * [s17t.net](mailto:mail+github@s17t.net) * [Alessandro](mailto:cosenal@gmail.com) * [Andrea Boero](mailto:mail@tsumi.it) -* [Bernhard Posselt](mailto:bernhard@posselt.at) * [Florian Hülsmann](mailto:fh@cbix.de) * [Frank Karlitschek](mailto:frank@owncloud.org) * [Hendrik Leppelsack](mailto:hendrik@leppelsack.de) @@ -49,6 +49,7 @@ * [Piotr Dobrowolski](mailto:admin@tastycode.pl) * [TexasGamer](mailto:tpgaubert@gmail.com) * [The Gitter Badger](mailto:badger@gitter.im) +* [Thomas Wouters](mailto:twouters@users.noreply.github.com) * [Xemle](mailto:xemle@phtagr.org) * [bjoerns1983](mailto:bjoern@sengotta.net) * [joeplus](mailto:joerg@honululu.Speedport_W_723V_1_32_000) diff --git a/bin/git/hooks/pre-commit b/bin/git/hooks/pre-commit index 474894075..cdb450a64 100755 --- a/bin/git/hooks/pre-commit +++ b/bin/git/hooks/pre-commit @@ -3,13 +3,7 @@ # exit if any test fails set -e -# update checksums -cd js -grunt js-unit -cd .. +make test -phpunit -c phpunit.xml -phpunit -c phpunit.integration.xml - -python3 bin/tools/generate_authors.py +php -f bin/tools/generate_authors.php git add AUTHORS.md diff --git a/bin/tools/generate_authors.php b/bin/tools/generate_authors.php new file mode 100644 index 000000000..18018686e --- /dev/null +++ b/bin/tools/generate_authors.php @@ -0,0 +1,36 @@ + + * @copyright Bernhard Posselt 2016 + */ + +$cmd = 'git --no-pager shortlog -nse HEAD'; +exec($cmd, $contributors); + +// extract data from git output into an array +$regex = '/^\s*(?P\d+)\s*(?P.*\w)\s*<(?P[^\s]+)>$/'; +$contributors = array_map(function ($contributor) use ($regex) { + preg_match($regex, $contributor, $result); + return $result; +}, $contributors); + +// filter out bots +$contributors = array_filter($contributors, function ($contributor) { + return strpos($contributor['name'], 'Jenkins') !== 0; +}); + +// turn tuples into markdown +$markdownLines = array_map(function ($contrib) { + return '* [' . $contrib['name'] . '](mailto:' . $contrib['email'] . ')'; +}, $contributors); + +// add headline +array_unshift($markdownLines, '# Authors'); + +$markdown = implode("\n", $markdownLines); +file_put_contents('AUTHORS.md', $markdown); diff --git a/bin/tools/generate_authors.py b/bin/tools/generate_authors.py deleted file mode 100644 index 9354b9fec..000000000 --- a/bin/tools/generate_authors.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python3 - -import subprocess -import re -import os.path - -contribs = subprocess.check_output(['git', '--no-pager', 'shortlog', '-nse', 'HEAD']) -contrib_lines = contribs.decode('utf-8').split('\n') - -format_regex = r'^\s*(?P\d+)\s*(?P.*\w)\s*<(?P[^\s]+)>$' - -def tuple_to_markdown(tuple): - return ('* [%s](mailto:%s)' % (tuple[0], tuple[1])) - -def line_to_tuple(line): - result = re.search(format_regex, line) - if result: - return ( - result.group('commit_count'), - result.group('name'), - result.group('email') - ) - else: - return () - -tuples = map(line_to_tuple, contrib_lines) -tuples = filter(lambda x: len(x) > 0, tuples) # filter out empty results -tuples = filter(lambda x: 'Jenkins' not in x[1], tuples) # filter out jenkins -#tuples = sorted(tuples, key=lambda x: x[0], reverse=True) -tuples = map(lambda x: (x[1], x[2]), tuples) -authors = map(tuple_to_markdown, tuples) -authors = '\n'.join(authors) - -header = '# Authors' -contents = '%s\n%s' % (header, authors) - -# write contents into contributors file -base_dir_diff = 2 -current_dir = os.path.dirname(os.path.realpath(__file__)) -base_dir = current_dir - -for x in range(base_dir_diff): - base_dir = os.path.join(base_dir, os.pardir) - -contributors_file = os.path.join(base_dir, 'AUTHORS.md') -with open(contributors_file, 'w') as f: - f.write(contents) -- cgit v1.2.3