diff --git a/product/PortalTransforms/libtransforms/commandtransform.py b/product/PortalTransforms/libtransforms/commandtransform.py index cc4692df69788b3179252b9fb96b1c9ea1b51cd2..070b6a8ee6b876ff035380685d72039f8856da60 100644 --- a/product/PortalTransforms/libtransforms/commandtransform.py +++ b/product/PortalTransforms/libtransforms/commandtransform.py @@ -5,6 +5,7 @@ import tempfile import re import shutil from os.path import join, basename +import six from zope.interface import implementer @@ -159,6 +160,8 @@ class subprocesstransform: argument_list = shlex.split(command) process = Popen(argument_list, stdin=stdin_file, stdout=PIPE, stderr=PIPE, close_fds=True) + if six.PY3 and isinstance(data, str): + data = data.encode() data_out, data_err = process.communicate(input=data) if process.returncode: raise OSError(data_err) # XXX