aboutsummaryrefslogtreecommitdiff
blob: e91b0751f997cc9713d3b6b7c359d0a6969418b9 (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
#!/usr/bin/python
#
#  runs roverlay consoles
#

import argparse

import roverlay.core
import roverlay.console.depres
import roverlay.console.remote

CON_MAP = {
   'depres': roverlay.console.depres.DepresConsole,
   'remote': roverlay.console.remote.RemoteConsole,
}

parser = argparse.ArgumentParser (
   description = "run roverlay consoles",
)

parser.add_argument (
   'mode', choices=frozenset ( CON_MAP ), nargs="?",
   default='depres', help="select console type [%(default)s]",
)

parser.add_argument (
   '--config', '-C', metavar='<file>', dest='config_file',
   default=roverlay.core.locate_config_file ( False ),
   help="config file [%(default)s]",
)

parser.add_argument (
   '--log-all', default=False, action='store_true',
   help="log everything to console",
)

def main():
   arg_config = parser.parse_args()
   con_cls    = CON_MAP [arg_config.mode]

   if arg_config.log_all:
      roverlay.core.force_console_logging()

   with con_cls ( config_file=arg_config.config_file )as con:
      con.run_forever()

if __name__ == '__main__':
   main()