#!/usr/bin/env python
from __future__ import print_function
from dask.distributed import Client
import socket
from xbowflow._version import __version__
from xbowflow.pipelines import SubprocessKernel, Pipeline
import sys

ip = socket.gethostbyname(socket.gethostname())
dask_scheduler = '{}:8786'.format(ip)
try:
    client = Client(dask_scheduler, timeout=2)
except IOError:
    print('Warning: using local dask client')
    client = Client()

cmd = ' '.join(sys.argv[1:])

full_cmd = 'cd {}; {}'.format(os.getcwd(), cmd)
kernel = SubprocessKernel(full_cmd)
pipe = Pipeline(client, [kernel])
result = pipe.run({})
print(result['output'])
client.close()
