#!/usr/bin/python

import configfiles
import subprocess

def parse_adress(s):
    return s.split(':')[-2].replace('/', '')

def parse_port(s):
    return s.split(':')[-1].replace('/', '')


if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser(
        description='Launch telescope control servers')
    parser.add_argument(
        '-c', '--config', default='scheduler.cfg',
        help='Name of the configuration file')
    args = parser.parse_args()
    
    config = configfiles.Config(args.config)
    
    subprocess.call(['ssh', 'dice@dicetel', '~/stardice/scheduler/kill_telescope_servers.sh'])

    print "Pulsar 2 server"
    subprocess.check_call(["ssh", "dice@dicetel", "pulsar2-server -H %s -p %s -t /dev/pulsar2 -l log.log -d" % (parse_adress(config.Mount.addr), parse_port(config.Mount.addr))])

    print "SBIG server"
    subprocess.check_call(["ssh", "dice@dicetel", "sbig-server -H %s -p %s -l log.log -d" % (parse_adress(config.Camera.addr), parse_port(config.Camera.addr))])

    print "Focus server"
    subprocess.check_call(["ssh", "dice@dicetel", "focus-server -H %s -p %s -t /dev/pegasus -l log.log -d" % (parse_adress(config.Focus.addr), parse_port(config.Focus.addr))])
    
    print "Done"
