commit: 0a871f68805b0edda7ebc6a357c4ff8aae514758
parent 01ed5c9be30a98d3d8bc9eeb4240ce69d4b5c1ae
Author: Philipp Hagemeister <phihag@phihag.de>
Date: Fri, 16 May 2014 12:03:59 +0200
Provide compatibility check_output for 2.6 (Fixes #2926)
Diffstat:
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/youtube_dl/postprocessor/xattrpp.py b/youtube_dl/postprocessor/xattrpp.py
@@ -6,6 +6,7 @@ from .common import PostProcessor
from ..utils import (
check_executable,
hyphenate_date,
+ subprocess_check_output
)
@@ -57,7 +58,7 @@ class XAttrMetadataPP(PostProcessor):
elif user_has_xattr:
cmd = ['xattr', '-w', key, value, path]
- subprocess.check_output(cmd)
+ subprocess_check_output(cmd)
else:
# On Unix, and can't find pyxattr, setfattr, or xattr.
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
@@ -1429,3 +1429,15 @@ def qualities(quality_ids):
DEFAULT_OUTTMPL = '%(title)s-%(id)s.%(ext)s'
+
+try:
+ subprocess_check_output = subprocess.check_output
+except AttributeError:
+ def subprocess_check_output(*args, **kwargs):
+ assert 'input' not in kwargs
+ p = subprocess.Popen(*args, stdout=subprocess.PIPE, **kwargs)
+ output, _ = p.communicate()
+ ret = p.poll()
+ if ret:
+ raise subprocess.CalledProcessError(ret, p.args, output=output)
+ return output