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

import sys
import signal
import Bcfg2.Options
from Bcfg2.Client.Client import Client


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


def main():
    optinfo = Bcfg2.Options.CLIENT_COMMON_OPTIONS
    setup = Bcfg2.Options.OptionParser(optinfo)
    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(setup).run()

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