diff options
-rwxr-xr-x | git-fat | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -14,6 +14,31 @@ import threading import time import collections +try: + from subprocess import check_output + del check_output +except ImportError: + def backport_check_output(*popenargs, **kwargs): + r"""Run command with arguments and return its output as a byte string. + + Backported from Python 2.7 as it's implemented as pure python on stdlib. + + >>> check_output(['/usr/bin/python', '--version']) + Python 2.6.2 + """ + 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 + subprocess.check_output = backport_check_output + BLOCK_SIZE = 4096 def verbose_stderr(*args, **kwargs): |