#!/usr/bin/env python
from __future__ import print_function
from xbowflow._version import __version__
from xbowflow.xflowlib import SubprocessKernel
from xbowflow.clients import XflowClient
import sys
import os
import argparse

def execute(client, args):
    cmd = ' '.join(args.cmd)
    full_cmd = 'cd {}; {}'.format(os.getcwd(), cmd)
    kernel = SubprocessKernel(full_cmd)
    kernel.set_outputs(['STDOUT'])
    result = client.submit(kernel)
    print(result.result().decode('utf-8'))

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Execute a command on a worker')

    parser.add_argument('cmd', nargs='*', help='The command to execute')
    args = parser.parse_args()
    client = XflowClient()
    execute(client, args)
    client.close()
