from __future__ import absolute_import
from __future__ import print_function
import subprocess
try:
import queue as Queue
except ImportError:
import Queue
def subprocess_check_output(*popenargs, **kwargs):
# Backport of subprocess.check_output taken from
# https://gist.github.com/edufelipe/1027906
#
# Originally from Python 2.7 stdlib under PSF, compatible with BSD-3
# Copyright (c) 2003-2005 by Peter Astrand <astrand@lysator.liu.se>
# Changes by Eduardo Felipe
process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
output, unused_err = process.communicate()
retcode = process.poll()
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
error = subprocess.CalledProcessError(retcode, cmd)
error.output = output
raise error
return output
if hasattr(subprocess, "check_output"):
# if available we just use the real function
subprocess_check_output = subprocess.check_output
unicode_func = str
try:
unicode_func = unicode
except NameError:
pass