11import subprocess
2- import sys , imp , codecs , shlex
2+ import sys , imp , codecs
33import node_variables
44
55class NodeJS (object ):
@@ -8,40 +8,40 @@ def eval(self, js, eval_type="eval", strict_mode=False):
88 js = ("'use strict'; " if strict_mode else "" ) + js
99 eval_type = "--eval" if eval_type == "eval" else "--print"
1010
11- p = subprocess .Popen (shlex . quote ( node_variables .NODE_JS_PATH_EXECUTABLE ) + " " + shlex . quote ( eval_type ) + " " + shlex . quote ( js ), shell = True , stdout = subprocess .PIPE , stderr = subprocess .PIPE )
11+ p = subprocess .Popen ([ node_variables .NODE_JS_PATH_EXECUTABLE , eval_type , js ], shell = True , stdout = subprocess .PIPE , stderr = subprocess .PIPE )
1212 lines = ""
1313
1414 # check for errors
1515 for line in p .stderr .readlines ():
16- lines += codecs .decode (line )
16+ lines += codecs .decode (line , "utf-8" , "ignore" )
1717
1818 if len (lines ) > 0 :
1919 p .terminate ()
2020 raise Exception (lines )
2121
2222 lines = ""
2323 for line in p .stdout .readlines ():
24- lines += codecs .decode (line )
24+ lines += codecs .decode (line , "utf-8" , "ignore" )
2525 p .terminate ()
2626
2727 return lines
2828
2929 def getCurrentNodeJSVersion (self ) :
3030
31- p = subprocess .Popen (shlex . quote ( node_variables .NODE_JS_PATH_EXECUTABLE ) + " -v" , shell = True , stdout = subprocess .PIPE , stderr = subprocess .PIPE )
31+ p = subprocess .Popen ([ node_variables .NODE_JS_PATH_EXECUTABLE , '-v' ] , shell = True , stdout = subprocess .PIPE , stderr = subprocess .PIPE )
3232 lines = ""
3333
3434 # check for errors
3535 for line in p .stderr .readlines ():
36- lines += codecs .decode (line )
36+ lines += codecs .decode (line , "utf-8" , "ignore" )
3737
3838 if len (lines ) > 0 :
3939 p .terminate ()
4040 raise Exception (lines )
4141
4242 lines = ""
4343 for line in p .stdout .readlines ():
44- lines += codecs .decode (line )
44+ lines += codecs .decode (line , "utf-8" , "ignore" )
4545 p .terminate ()
46-
47- return lines .strip ()
46+
47+ return lines .strip ()
0 commit comments