#!/usr/bin/env python
import fabric.network
import logging
import sys

from profab.main import process_arguments
from profab.server import Server


def main(client, hostname, *roles):
    logging.basicConfig(level=logging.INFO)
    server = Server.connect(client, hostname)
    commands = server.get_role_adders(*process_arguments(*roles))
    server.add_roles(commands)


if __name__=="__main__":
    try:
        main(*sys.argv[1:])
    finally:
        fabric.network.disconnect_all()
