From abcd97b1f1aba334a034c7cbfdd2843292a36c46 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Tue, 17 Dec 2013 14:41:55 +0200 Subject: [PATCH] Add update_coreteam script. --- docs/coreteam.rst | 27 ++++++++++++----------- scripts/update_coreteam.py | 45 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 13 deletions(-) create mode 100644 scripts/update_coreteam.py diff --git a/docs/coreteam.rst b/docs/coreteam.rst index 7ebead2..02b9c30 100644 --- a/docs/coreteam.rst +++ b/docs/coreteam.rst @@ -1,13 +1,14 @@ - - `Paul Richard Tagliamonte `_ - - `J Kenneth King `_ - - `Julien Danjou `_ - - `Nicolas Dandrimont `_ - - `Morten Linderud `_ - - `Gergely Nagy `_ - - `Karen Rustad `_ - - `Berker Peksag `_ - - `Christopher Allan Webber `_ - - `Bob Tolbert `_ - - `Tuukka Turto `_ - - `Will Kahn-Greene `_ - - `Konrad Hinsen `_ +* `Julien Danjou `_ +* `Morten Linderud `_ +* `J Kenneth King `_ +* `Gergely Nagy `_ +* `Tuukka Turto `_ +* `Karen Rustad `_ +* `Abhishek L `_ +* `Christopher Allan Webber `_ +* `Konrad Hinsen `_ +* `Will Kahn-Greene `_ +* `Paul Tagliamonte `_ +* `Nicolas Dandrimont `_ +* `Bob Tolbert `_ +* `Berker Peksag `_ diff --git a/scripts/update_coreteam.py b/scripts/update_coreteam.py new file mode 100644 index 0000000..dda9754 --- /dev/null +++ b/scripts/update_coreteam.py @@ -0,0 +1,45 @@ +""" +You need to install the requests package first:: + + $ pip install requests + +""" + +import os.path +import requests + +API_URL = 'https://api.github.com/%s' + +RST_FORMAT = '* `%s <%s>`_' +MISSING_NAMES = { + 'khinsen': 'Konrad Hinsen', +} +# We have three concealed members on the hylang organization +# and GitHub only shows public members if the requester is not +# an owner of the organization. +CONCEALED_MEMBERS = [ + ('aldeka', 'Karen Rustad'), + ('rwtolbert', 'Bob Tolbert'), + ('tuturto', 'Tuukka Turto'), +] + + +def get_dev_name(login): + name = requests.get(API_URL % 'users/' + login).json()['name'] + if not name: + return MISSING_NAMES.get(login) + return name + +coredevs = requests.get(API_URL % 'orgs/hylang/members') + +result = set() +for dev in coredevs.json(): + result.add(RST_FORMAT % (get_dev_name(dev['login']), dev['html_url'])) + +for login, name in CONCEALED_MEMBERS: + result.add(RST_FORMAT % (name, 'https://github.com/' + login)) + +filename = os.path.abspath(os.path.join(os.path.pardir, + 'docs', 'coreteam.rst')) +with open(filename, 'w+') as fobj: + fobj.write('\n'.join(result) + '\n')