#!/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 os
import sys

from termcolor import colored

from rapidpro_controller import (get_logger, get_color, LINFO, ROLE_PATH)
from rapidpro_controller.states import set_role

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


def main(args):
    if not len(args):
        logger.error("new role not specified. Aborting.")
        return 1

    role = args[0]
    try:
        assert set_role(role) == 0
    except AssertionError:
        return 1
    except:
        logger.error("unable to edit role in {}. permission?"
                     .format(ROLE_PATH))
        return 1

    logger.info("changed server role to: `{}`"
                .format(colored(role, get_color(LINFO))))
    return 0


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