aboutsummaryrefslogtreecommitdiffstats
path: root/python/fatcat_transform.py
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2019-12-11 17:24:11 -0800
committerBryan Newbold <bnewbold@robocracy.org>2019-12-11 17:24:14 -0800
commit7831f78cc9ccef7331c9176dbecb34f8afc9b54f (patch)
tree53d82b7e044fd228d18eef9a5b682ecb6ce22bb4 /python/fatcat_transform.py
parente5199300f8c4be2d2c60c18e341d774ae44a1def (diff)
downloadfatcat-7831f78cc9ccef7331c9176dbecb34f8afc9b54f.tar.gz
fatcat-7831f78cc9ccef7331c9176dbecb34f8afc9b54f.zip
improve argparse usage
Use --fatcat-api-url instead of (ambiguous) --host-url for commands that aren't deployed/running via systemd. TODO: update the other --host-url usage, and either roll-out change consistently or support the old arg as an alias during cut-over Use argparse.ArgumentDefaultsHelpFormatter (thanks Martin!) Add help messages for all sub-commands, both as documentation and as a way to get argparse to print available commands in a more readable format.
Diffstat (limited to 'python/fatcat_transform.py')
-rwxr-xr-xpython/fatcat_transform.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/python/fatcat_transform.py b/python/fatcat_transform.py
index 3f90337e..ccb13871 100755
--- a/python/fatcat_transform.py
+++ b/python/fatcat_transform.py
@@ -60,16 +60,15 @@ def run_citeproc_releases(args):
args.json_output.write(out + "\n")
def main():
- parser = argparse.ArgumentParser()
- parser.add_argument('--debug',
- action='store_true',
- help="enable debugging interface")
- parser.add_argument('--host-url',
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+ parser.add_argument('--fatcat-api-url',
default="http://localhost:9411/v0",
help="connect to this host/port")
subparsers = parser.add_subparsers()
- sub_elasticsearch_releases = subparsers.add_parser('elasticsearch-releases')
+ sub_elasticsearch_releases = subparsers.add_parser('elasticsearch-releases',
+ help="convert fatcat release JSON schema to elasticsearch release schema")
sub_elasticsearch_releases.set_defaults(func=run_elasticsearch_releases)
sub_elasticsearch_releases.add_argument('json_input',
help="JSON-per-line of release entities",
@@ -78,7 +77,8 @@ def main():
help="where to send output",
default=sys.stdout, type=argparse.FileType('w'))
- sub_elasticsearch_containers = subparsers.add_parser('elasticsearch-containers')
+ sub_elasticsearch_containers = subparsers.add_parser('elasticsearch-containers',
+ help="convert fatcat container JSON schema to elasticsearch container schema")
sub_elasticsearch_containers.set_defaults(func=run_elasticsearch_containers)
sub_elasticsearch_containers.add_argument('json_input',
help="JSON-per-line of container entities",
@@ -87,7 +87,8 @@ def main():
help="where to send output",
default=sys.stdout, type=argparse.FileType('w'))
- sub_elasticsearch_changelogs = subparsers.add_parser('elasticsearch-changelogs')
+ sub_elasticsearch_changelogs = subparsers.add_parser('elasticsearch-changelogs',
+ help="convert fatcat changelog JSON schema to elasticsearch changelog schema")
sub_elasticsearch_changelogs.set_defaults(func=run_elasticsearch_changelogs)
sub_elasticsearch_changelogs.add_argument('json_input',
help="JSON-per-line of changelog entries",
@@ -96,7 +97,8 @@ def main():
help="where to send output",
default=sys.stdout, type=argparse.FileType('w'))
- sub_citeproc_releases = subparsers.add_parser('citeproc-releases')
+ sub_citeproc_releases = subparsers.add_parser('citeproc-releases',
+ help="convert fatcat release schema to any standard citation format using citeproc/CSL")
sub_citeproc_releases.set_defaults(func=run_citeproc_releases)
sub_citeproc_releases.add_argument('json_input',
help="JSON-per-line of release entities",
@@ -116,7 +118,7 @@ def main():
print("tell me what to do!")
sys.exit(-1)
- args.api = public_api(args.host_url)
+ args.api = public_api(args.fatcat_api_url)
args.func(args)
if __name__ == '__main__':