#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""shoutdctl

Multicast among containers on different hosts made easy.

Usage:
  shoutdctl start <advertise_address> [--peer-addresses=<peer_addresses>]
  shoutdctl stop
  shoutdctl (-h | --help)
  shoutdctl (-v | --version)

Options:
  -h --help             Show this screen.
  -v --version          Show version.
  --join=<router_ip>    Shoutd router IP address
"""
from docopt import docopt
import subprocess  # Good old buddy <3


def run(command):
    subprocess.run(command.split(' '), stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)

if __name__ == '__main__':
    args = docopt(__doc__, version='shoutdctl 0.1.0')

    if args['start']:
        if args.get('--peer-addresses'):
            params = '%s --peer-addresses=%s' % (args['<advertise_address>'], args['--peer-addresses'])
        else:
            params = args['<advertise_address>']
        run('docker run -d --name=shoutd --network=host --privileged=true -v /usr/lib/docker/plugins darkkitchen/shoutd %s' % params)
    else:
        print('Stoping...')
        run('docker stop shoutd')
        run('docker rm shoutd')
