#!/usr/bin/env python
# -*- coding: utf-8 -*-
# vim: ai ts=4 sts=4 et sw=4 nu

from __future__ import (unicode_literals, absolute_import,
                        division, print_function)
import sys
import os

from termcolor import colored

from rapidpro_controller import (get_logger, SERVERS,
                                 get_color, LNOTICE, LDANGER)
from rapidpro_controller.cluster import (get_ip_master)

logger = get_logger(os.path.basename(__file__))


def main(args):
    ip_master = get_ip_master()
    raw = '--raw' in args

    if ip_master not in SERVERS:
        kw = "NOT RUNNING" if raw else colored("NOT RUNNING",
                                               get_color(LDANGER))
        logger.critical("cluster IP {kw} on any node. "
                        "Please make one available."
                        .format(kw=kw))
        return 1

    output = ip_master if raw else colored(ip_master, get_color(LNOTICE))
    print(output)


if __name__ == '__main__':
    sys.exit(main(sys.argv[1:]))
