Fixed #19942 -- Decoded errors coming from Popen commands

Thanks Aymeric Augustin for reporting the issue.
This commit is contained in:
Claude Paroz 2013-03-03 19:58:13 +01:00
parent 97afc49bb0
commit e4bf0f2c36
1 changed files with 8 additions and 1 deletions

View File

@ -1,6 +1,8 @@
import os import os
from subprocess import PIPE, Popen from subprocess import PIPE, Popen
from django.utils.encoding import force_text, DEFAULT_LOCALE_ENCODING
def popen_wrapper(args): def popen_wrapper(args):
""" """
@ -11,7 +13,12 @@ def popen_wrapper(args):
p = Popen(args, shell=False, stdout=PIPE, stderr=PIPE, p = Popen(args, shell=False, stdout=PIPE, stderr=PIPE,
close_fds=os.name != 'nt', universal_newlines=True) close_fds=os.name != 'nt', universal_newlines=True)
output, errors = p.communicate() output, errors = p.communicate()
return output, errors, p.returncode return (
output,
force_text(errors, DEFAULT_LOCALE_ENCODING, strings_only=True),
p.returncode
)
def handle_extensions(extensions=('html',), ignored=('py',)): def handle_extensions(extensions=('html',), ignored=('py',)):
""" """