fix jade detection. Scons ships with outdated subprocess module

This commit is contained in:
Radim Kolar 2014-09-08 16:36:21 +02:00
parent 795eba7c3b
commit 2c1e494147

View File

@ -1,8 +1,8 @@
#
# SCons DSSSL processor check
#
# Version 1.0
# 07-Sep-2014
# Version 1.1
# 08-Sep-2014
#
import subprocess
@ -11,11 +11,13 @@ def checkDSSSLProcessor(check, name="jade"):
"""Check if DSSSL engine is working. Returns True or False."""
check.Message("Checking if DSSSL processor "+name+" works... ")
try:
echo = subprocess.Popen(('/bin/echo','""'), stdout = subprocess.PIPE )
version = subprocess.check_output((name, '-v'), stdin = echo.stdout, stderr = subprocess.STDOUT )
except subprocess.CalledProcessError as e:
if "version" in e.output:
echo = subprocess.Popen(['/bin/echo', '""'], stdout = subprocess.PIPE )
version = subprocess.Popen([name, '-v'], stdin = echo.stdout, stdout= subprocess.PIPE, stderr = subprocess.PIPE )
stderr = repr(version.communicate()[1])
if "version" in stderr:
check.Result(True)
return True
except subprocess.CalledProcessError:
pass
check.Result(False)
return False