32 lines
910 B
Python
Executable File
32 lines
910 B
Python
Executable File
#!/usr/bin/env python3
|
|
# Automatically generates AUTHORS.md from GitHub API data
|
|
from github import Github
|
|
|
|
REPO = "libui-ng/libui-ng"
|
|
HEADER = "**The libui-ng project would like to acknowledge the following contributors:**"
|
|
FILE = "AUTHORS.md"
|
|
|
|
def fetch_authors(repo):
|
|
# fully load the paginated list before processing
|
|
return [author for author in repo.get_contributors()]
|
|
|
|
def write_authors_file(authors, f):
|
|
f.write("# Authors\n\n")
|
|
f.write(HEADER + "\n\n")
|
|
for author in authors:
|
|
handle = "@" + author.login
|
|
name = author.name
|
|
if name is not None and len(name.split(" ")) > 1:
|
|
name += " "
|
|
else:
|
|
name = ""
|
|
f.write(" * " + name + handle + "\n")
|
|
|
|
def main():
|
|
g = Github()
|
|
repo = g.get_repo(REPO)
|
|
with open(FILE, "w") as f:
|
|
write_authors_file(fetch_authors(repo), f)
|
|
|
|
if __name__ == "__main__":
|
|
main() |