1
0
mirror of https://github.com/satwikkansal/wtfpython synced 2024-06-18 10:39:36 +02:00
wtfpython/irrelevant/generate_contributions.py
cclauss a4776a6b67
Use ==/!= to compare str, bytes, and int literals
Identity is not the same thing as equality in Python.

$ __[flake8](http://flake8.pycqa.org)  . --count --select=E9,F63,F7,F82 --show-source --statistics__
```
    if resp.status_code is 200:
       ^
1     F632 use ==/!= to compare str, bytes, and int literals
1
```
2019-07-02 15:36:23 +02:00

52 lines
1.4 KiB
Python

"""
Parses the README.md and generated the table
`CONTRIBUTORS.md`.
"""
import pprint
import re
import requests
regex = ("[sS]uggested by @(\S+) in \[this\]\(https:\/\/github\.com\/satwikkansal"
"\/wtf[pP]ython\/issues\/(\d+)\) issue")
fname = "README.md"
contribs = {}
table_header = """
| Contributor | Github | Issues |
|-------------|--------|--------|
"""
table_row = '| {} | [{}](https://github.com/{}) | {} |'
issue_format = '[#{}](https:/github.com/satwikkansal/wtfpython/issues/{})'
rows_so_far = []
github_rest_api = "https://api.github.com/users/{}"
with open(fname, 'r') as f:
file_content = f.read()
matches = re.findall(regex, file_content)
for match in matches:
if contribs.get(match[0]) and match[1] not in contribs[match[0]]:
contribs[match[0]].append(match[1])
else:
contribs[match[0]] = [match[1]]
for handle, issues in contribs.items():
issue_string = ', '.join([issue_format.format(i, i) for i in issues])
resp = requests.get(github_rest_api.format(handle))
name = handle
if resp.status_code == 200:
pprint.pprint(resp.json()['name'])
else:
print(handle, resp.content)
rows_so_far.append(table_row.format(name,
handle,
handle,
issue_string))
print(table_header + "\n".join(rows_so_far))