Skip to content

Commit b4ffaab

Browse files
fix for #13 on windows
1 parent 5b459d2 commit b4ffaab

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

node/main.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import subprocess
2-
import sys, imp, codecs, shlex
2+
import sys, imp, codecs
33
import node_variables
44

55
class 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

Comments
 (0)