#!/usr/bin/env python
import argparse
import sys
import os

ncd_root = os.path.dirname(os.path.abspath(sys.argv[0]))
ncd_pkg = os.path.join(ncd_root, 'netcontrold')
sys.path.insert(0, ncd_pkg)

from netcontrold.app import ncd
from netcontrold.lib import util

USAGE = "ncd_ctl [start/stop/restart/status"\
        "/rebalance-on/rebalance-off" \
        "/debug-on/debug-off]\n"

if ((len(sys.argv) != 2) or
        (sys.argv[1] not in ('start', 'stop', 'restart', 'status', 
                             'rebalance-on', 'rebalance-off',
                             'debug-on', 'debug-off'))):
    sys.stderr.write(USAGE)
    sys.exit(1)

main_srv = util.Service(ncd.ncd_main,
                        ['-s', '10', '-q'],
                        '/var/run/ncd.pid')

if sys.argv[1] == 'start':
    main_srv.start()
elif sys.argv[1] == 'restart':
    main_srv.restart()
elif sys.argv[1] == 'stop':
    main_srv.stop()
elif sys.argv[1] == 'status':
    main_srv.status()
elif sys.argv[1] == 'rebalance-on':
    main_srv.rebalance(True)
elif sys.argv[1] == 'rebalance-off':
    main_srv.rebalance(False)
elif sys.argv[1] == 'debug-on':
    main_srv.debug(True)
elif sys.argv[1] == 'debug-off':
    main_srv.debug(False)

sys.exit(0)

