Skip to content
Snippets Groups Projects
Unverified Commit 60d2c8b6 authored by Kristin Berry's avatar Kristin Berry Committed by GitHub
Browse files

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

* Add script to create AUTHORS.rst from .zenodo.json and update AUTHORS.rst

* Update PR template and contributing docs

* Removed json error in .zenodo.json and update script based on feedback

* update based on more feedback

* removed comment
parent 728b84af
No related branches found
No related tags found
No related merge requests found
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
- [ ] I have updated the documentation accordingly. - [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes. - [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed. - [ ] 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. - [ ] I have added any user impacting changes to the [CHANGELOG.md](https://github.com/USGS-Astrogeology/ISIS3/blob/dev/CHANGELOG.md) document.
## Licensing ## Licensing
......
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
}, },
{ {
"name": "Addair, Travis" "name": "Addair, Travis"
}, }
], ],
"title": "Integrated Software for Imageers and Spectrometers", "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.", "description": "A software library and set of tools to support ingestions, processing, and analysis of planetary science data.",
......
ISIS3 Contributors ISIS3 Contributors
================== ==================
- Aaron Curtis - Jason Laura
- Adam Goins - Jesse Mapel
- Kristin Berry
- Kaitlyn Lee
- Kelvin Rodriguez
- Stuart Sides
- Adam Paquette - 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
- Andrew Annex - Andrew Annex
- Victor Silva
- Benoit Seignovert
- Andrew Stebenne - Andrew Stebenne
- Austin Sanders
- B. Seignovert
- Christopher Austin - Christopher Austin
- Christopher Ryan Combs Jr
- Cole Neubauer
- Curtis Rose - Curtis Rose
- David Miller - David Miller
- Debbie Cook
- Ella Mae Lee - Ella Mae Lee
- Elpitha Howington-Kraus - Eric Heyer
- Eric Gault
- Eric Hyer
- Evin Dunn
- Ian Humphrey - Ian Humphrey
- Jac Shinaman
- Jai Rideout - Jai Rideout
- James Alexander Crough - James Alexander Crough
- Janet Barrett - Janet Barrett
- Jason Laura
- Jeannie Backer
- Jeff Anderson - Jeff Anderson
- Jeffrey Covington - Jeffrey Covington
- Jesse Mapel
- John Bonn - John Bonn
- Kaitlyn Lee
- Kaj E Williams
- Kelvin Rodriguez
- Ken Edmundson
- Kim Oyama - Kim Oyama
- Kris Becker
- Kristin Berry
- Lauren Adoram-Kershner
- Lynn Weller
- Mackenzie Boyd - Mackenzie Boyd
- Makayla Shepherd
- Marjorie Hahn - Marjorie Hahn
- Mathew Eis - Mathew Eis
- Michael Aye
- Moses Milazzo
- Oleg Alexandrov
- Orrin Thomas - Orrin Thomas
- Peter Giroux
- Raad A. Saleh
- Ross Beyer
- Sasha Brownsberger - Sasha Brownsberger
- Sharmilla Prasad - Sharmilla Prasad
- Steven Lambright - Steven Lambright
- Stuart Sides
- Summer Stapleton
- Timothy Giroux
- Tracie Sucharski
- Travis Addair - Travis Addair
- Tyler Wilson
- Victor Silva
----- -----
This list was initially generated using this bash command (additional manual edits are needed): This list was generated from the .zenodo.json file by running python zenodo_to_authors.py.
\ No newline at end of file
git log --pretty="- %an %n" | sort | uniq -i >> AUTHORS.rst
...@@ -43,7 +43,7 @@ In the case of an objection being raised in a pull request by another committer, ...@@ -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 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. 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 # Becoming a Committer
......
# 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment