Hide keyboard shortcuts

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 

2 

3from ligo.gracedb import rest 

4 

5from .. import followup_advocate 

6 

7 

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') 

15 

16 authors = argparse.ArgumentParser(add_help=False) 

17 authors.add_argument( 

18 'authors', metavar="'A. Einstein (IAS)'", nargs='*', help='Authors') 

19 

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 

25 

26 cmd = add_command(followup_advocate.authors, parents=[authors]) 

27 

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') 

34 

35 cmd = add_command(followup_advocate.compose_raven, parents=[authors]) 

36 cmd.add_argument('gracedb_id', metavar='S123456', 

37 help='GraceDB ID of superevent') 

38 

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') 

42 

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') 

47 

48 cmd = add_command(followup_advocate.compose_retraction, parents=[authors]) 

49 cmd.add_argument('gracedb_id', metavar='S123456', help='GraceDB ID') 

50 

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') 

55 

56 opts = parser.parse_args(args).__dict__ 

57 func = opts.pop('func') 

58 print(func(**opts))