Coverage for ligo/followup_advocate/tool.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1import argparse
3from ligo.gracedb import rest
5from .. import followup_advocate
8def main(args=None):
9 parser = argparse.ArgumentParser()
10 parser.add_argument(
11 '--version', action='version', version=followup_advocate.__version__)
12 parser.add_argument(
13 '--service', default=rest.DEFAULT_SERVICE_URL, help='GraceDb API URL')
14 subparsers = parser.add_subparsers(help='sub-command help')
16 authors = argparse.ArgumentParser(add_help=False)
17 authors.add_argument(
18 'authors', metavar="'A. Einstein (IAS)'", nargs='*', help='Authors')
20 def add_command(func, **kwargs):
21 subparser = subparsers.add_parser(
22 func.__name__, **dict(kwargs, help=func.__doc__))
23 subparser.set_defaults(func=func)
24 return subparser
26 cmd = add_command(followup_advocate.authors, parents=[authors])
28 cmd = add_command(followup_advocate.compose, parents=[authors])
29 cmd.add_argument(
30 '-m', '--mailto', action='store_true',
31 help='Open new message in default e-mail client [default: false]')
32 cmd.add_argument('gracedb_id', metavar='S123456',
33 help='GraceDB ID of superevent')
35 cmd = add_command(followup_advocate.compose_raven, parents=[authors])
36 cmd.add_argument('gracedb_id', metavar='S123456',
37 help='GraceDB ID of superevent')
39 cmd = add_command(followup_advocate.compose_grb_medium_latency,
40 parents=[authors])
41 cmd.add_argument('gracedb_id', metavar='E123456', help='GraceDB ID of GRB')
43 cmd = add_command(followup_advocate.compose_update, parents=[authors])
44 cmd.add_argument('gracedb_id', metavar='S123456', help='GraceDB ID')
45 cmd.add_argument('update_types', metavar='[sky_localization]',
46 help='List of Update types')
48 cmd = add_command(followup_advocate.compose_retraction, parents=[authors])
49 cmd.add_argument('gracedb_id', metavar='S123456', help='GraceDB ID')
51 cmd = add_command(followup_advocate.compare_skymaps)
52 cmd.add_argument(
53 'paths', nargs='+', metavar='S123456/filename.fits.gz',
54 help='Specify sky maps by GraceDB ID and filename')
56 opts = parser.parse_args(args).__dict__
57 func = opts.pop('func')
58 print(func(**opts))