summaryrefslogtreecommitdiffstats
path: root/src/sbin/bcfg2
blob: e9beb47cdf6111a868d8f43e11cac8a7cd91a9f4 (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
#!/usr/bin/env python
"""Bcfg2 Client"""

import sys
import signal
from Bcfg2.Client.Client import Client
from Bcfg2.Options import get_option_parser, CLIENT_COMMON_OPTIONS


def cb_sigint_handler(signum, frame):
    """ Exit upon CTRL-C. """
    raise SystemExit(1)


def main():
    setup = get_option_parser(CLIENT_COMMON_OPTIONS)
    setup.parse(sys.argv[1:])

    if setup['args']:
        print("Bcfg2 takes no arguments, only options")
        print(setup.buildHelpMessage())
        raise SystemExit(1)

    signal.signal(signal.SIGINT, cb_sigint_handler)
    return Client().run()

if __name__ == '__main__':
    sys.exit(main())