def run_sync_command()

in tsqa/utils.py [0:0]


def run_sync_command(*args, **kwargs):
    '''
    Helper to run a command synchronously
    '''
    if 'stdout' not in kwargs:
        kwargs['stdout'] = open(os.devnull, 'w')
    if 'stderr' not in kwargs:
        kwargs['stderr'] = open(os.devnull, 'w')

    p = subprocess.Popen(*args, **kwargs)
    stdout, stderr = p.communicate()
    if p.returncode != 0:
        if stderr:
            raise Exception('Error {0} running: {1}\n{2}'.format(p.returncode, args[0], stderr))
        else:
            raise Exception('Error {0} running: {1}'.format(p.returncode, args[0]))

    return stdout, stderr