aboutsummaryrefslogtreecommitdiffstats
path: root/covid19_tool.py
blob: 5be70b4d412201a63c1b4616e623e38105c17700 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env python3

import sys
import argparse

from fatcat_covid19.webface import app


def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.set_defaults(
        action='none',
    )
    subparsers = parser.add_subparsers()

    sub_webface = subparsers.add_parser('webface',
        help="run flask web interface")
    sub_webface.set_defaults(
        action='webface',
    )
    sub_webface.add_argument('--debug',
        action='store_true',
        help="enable debugging interface (note: not for everything)")
    sub_webface.add_argument('--host',
        default="127.0.0.1",
        help="listen on this host/IP")
    sub_webface.add_argument('--port',
        type=int,
        default=9119,
        help="listen on this port")

    sub_enrich = subparsers.add_parser('enrich',
        help="enrich CORD-19 dataset (JSON) with fatcat metadata (prints to stdout)")
    sub_enrich.set_defaults(
        action='enrich',
    )
    sub_enrich.add_argument('json_file',
        help="CORD-19 parsed JSON file",
        type=argparse.FileType('r'))

    args = parser.parse_args()

    if args.action == 'webface':
        app.run(debug=args.debug, host=args.host, port=args.port)
    if args.action == 'enrich':
        # TODO
        pass
    else:
        print("tell me what to do!")
        sys.exit(-1)


if __name__ == '__main__':
    main()