Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple script to generate AUTHORS.rst from .zenodo.json file #3995

Merged
merged 8 commits into from
Sep 14, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
- [ ] I have added myself to the [AUTHORS.rst](https://github.com/USGS-Astrogeology/ISIS3/blob/dev/AUTHORS.rst) document.
- [ ] I have added myself to the [.zenodo.json](https://github.com/USGS-Astrogeology/ISIS3/blob/dev/.zenodo.json) document.
- [ ] I have added any user impacting changes to the [CHANGELOG.md](https://github.com/USGS-Astrogeology/ISIS3/blob/dev/CHANGELOG.md) document.

## Licensing
Expand Down
2 changes: 1 addition & 1 deletion .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@
},
{
"name": "Addair, Travis"
},
}
],
"title": "Integrated Software for Imageers and Spectrometers",
"description": "A software library and set of tools to support ingestions, processing, and analysis of planetary science data.",
Expand Down
120 changes: 58 additions & 62 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -1,68 +1,64 @@
ISIS3 Contributors
==================

- Aaron Curtis
- Adam Goins
- Adam Paquette
- Andrew Annex
- Andrew Stebenne
- Austin Sanders
- B. Seignovert
- Christopher Austin
- Christopher Ryan Combs Jr
- Cole Neubauer
- Curtis Rose
- David Miller
- Debbie Cook
- Ella Mae Lee
- Elpitha Howington-Kraus
- Jason Laura
- Jesse Mapel
- Kristin Berry
- Kaitlyn Lee
- Kelvin Rodriguez
- Stuart Sides
- Adam Paquette
- Kaj Williams
- Austin Sanders
- Lauren Adoram-Kershner
- John Shinaman
- Lynn Weller
- Evin Dunn
- Tim Giroux
- Tracie Sucharski
- Jeanie Backer
- Adam Goins
- Makayla Shepard
- Christopher Combs
- Debbie Cook
- Kris Becker
- Summer Stapleton
- Cole Neubauer
- Tyler Wilson
- Aaron Giroux
- Moses Milazzo
- Ross Beyer
- Elpitha Howington-Kraus
- Kenneth Edmundson
- Raad Saleh
- Oleg Alexandrov
- Aaron Curtis
- Eric Gault
- Eric Hyer
- Evin Dunn
- Ian Humphrey
- Jac Shinaman
- Jai Rideout
- James Alexander Crough
- Janet Barrett
- Jason Laura
- Jeannie Backer
- Jeff Anderson
- Jeffrey Covington
- Jesse Mapel
- John Bonn
- Kaitlyn Lee
- Kaj E Williams
- Kelvin Rodriguez
- Ken Edmundson
- Kim Oyama
- Kris Becker
- Kristin Berry
- Lauren Adoram-Kershner
- Lynn Weller
- Mackenzie Boyd
- Makayla Shepherd
- Marjorie Hahn
- Mathew Eis
- Michael Aye
- Moses Milazzo
- Oleg Alexandrov
- Orrin Thomas
- Peter Giroux
- Raad A. Saleh
- Ross Beyer
- Sasha Brownsberger
- Sharmilla Prasad
- Steven Lambright
- Stuart Sides
- Summer Stapleton
- Timothy Giroux
- Tracie Sucharski
- Travis Addair
- Tyler Wilson
- Victor Silva
- Andrew Annex
- Victor Silva
- Benoit Seignovert
- Andrew Stebenne
- Christopher Austin
- Curtis Rose
- David Miller
- Ella Mae Lee
- Eric Heyer
- Ian Humphrey
- Jai Rideout
- James Alexander Crough
- Janet Barrett
- Jeff Anderson
- Jeffrey Covington
- John Bonn
- Kim Oyama
- Mackenzie Boyd
- Marjorie Hahn
- Mathew Eis
- Orrin Thomas
- Sasha Brownsberger
- Sharmilla Prasad
- Steven Lambright
- Travis Addair

-----
This list was initially generated using this bash command (additional manual edits are needed):

git log --pretty="- %an %n" | sort | uniq -i >> AUTHORS.rst

This list was generated from the .zenodo.json file by running python zenodo_to_authors.py.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ In the case of an objection being raised in a pull request by another committer,
committers should seek to arrive at a consensus by way of addressing concerns being expressed
by discussion, compromise on the proposed change, or withdrawal of the proposed change.

When making a contribution for the first time, please add your name to the Authors.rst file **and** the `.zenodo.json file.` We strongly recommend adding your affiliation and ORCiD to the `zenodo.json` file. These additions only have to happen once.
When making a contribution for the first time, please add your name to the `.zenodo.json file.` We strongly recommend adding your affiliation and ORCiD to the `zenodo.json` file. These additions only have to happen once.

# Becoming a Committer

Expand Down
41 changes: 41 additions & 0 deletions isis/scripts/zenodo_to_authors.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Uses a .zenodo.json file to generate an AUTHORS.rst file.

import os
import argparse
import json

parser = argparse.ArgumentParser(description="Generate an AUTHORS.rst file from a .zenodo.json file")
parser.add_argument("zenodo_input_file", type=str, help="The file path to the .zenodo.json file.")
parser.add_argument("authors_output_file", type=str, help="The path for the output AUTHORS.rst file.")

args = parser.parse_args()

zenodo_path = args.zenodo_input_file
authors_path = args.authors_output_file

# Read .zenodo.json file:
try:
with open(zenodo_path, 'r') as zenodo_file:
parsed_json = json.load(zenodo_file)
except:
print("{} could not be read as the input file.".format(zenodo_path))
raise

output_lines = ["ISIS3 Contributors", "==================\n"]

for elt in parsed_json['creators']:
name = elt['name']
last, first = name.split(",")
output_lines.append("- {} {}".format(first.strip(),last.strip()))

output_lines.append("\n-----")
output_lines.append("This list was generated from the .zenodo.json file by running python zenodo_to_authors.py.")

# Write to AUTHORS.rst file
try:
with open(authors_path, 'w') as authors_file:
authors_file.write('\n'.join(output_lines))
except:
print("{} could not be opened as the output file.".format(authors_path))
raise