mirror of https://github.com/tildeclub/ttrv.git
60 lines
1.4 KiB
Python
Executable File
60 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
Scrape the project contributors list from Github and update AUTHORS.rst
|
|
"""
|
|
|
|
from __future__ import unicode_literals
|
|
import os
|
|
import time
|
|
import logging
|
|
|
|
import requests
|
|
|
|
_filepath = os.path.dirname(os.path.relpath(__file__))
|
|
|
|
FILENAME = os.path.abspath(os.path.join(_filepath, '..', 'AUTHORS.rst'))
|
|
URL = "https://api.github.com/repos/tildeclub/ttrv/contributors?per_page=1000"
|
|
HEADER = """\
|
|
================
|
|
TTRV Contributors
|
|
================
|
|
|
|
Thanks to the following people for their contributions to this project.
|
|
|
|
"""
|
|
|
|
|
|
def main():
|
|
|
|
logging.captureWarnings(True)
|
|
|
|
# Request the list of contributors
|
|
print('GET {}'.format(URL))
|
|
resp = requests.get(URL)
|
|
contributors = resp.json()
|
|
|
|
lines = []
|
|
for contributor in contributors:
|
|
time.sleep(1.0)
|
|
|
|
# Request each contributor individually to get the full name
|
|
print('GET {}'.format(contributor['url']))
|
|
resp = requests.get(contributor['url'])
|
|
user = resp.json()
|
|
|
|
name = user.get('name') or contributor['login']
|
|
url = user['html_url']
|
|
lines.append('* `{} <{}>`_'.format(name, url))
|
|
|
|
print('Writing to {}'.format(FILENAME))
|
|
text = HEADER + '\n'.join(lines)
|
|
text = text.encode('utf-8')
|
|
with open(FILENAME, 'wb') as fp:
|
|
fp.write(text)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|