diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2019-12-11 17:24:11 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2019-12-11 17:24:14 -0800 |
commit | 7831f78cc9ccef7331c9176dbecb34f8afc9b54f (patch) | |
tree | 53d82b7e044fd228d18eef9a5b682ecb6ce22bb4 /python/fatcat_transform.py | |
parent | e5199300f8c4be2d2c60c18e341d774ae44a1def (diff) | |
download | fatcat-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-x | python/fatcat_transform.py | 22 |
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__': |