diff --git a/pronsole.py b/pronsole.py index 3f182c2..701529a 100755 --- a/pronsole.py +++ b/pronsole.py @@ -1135,13 +1135,14 @@ class pronsole(cmd.Cmd): try: import shlex if(settings): - param = self.expandcommand(self.settings.sliceoptscommand).encode() + param = self.expandcommand(self.settings.sliceoptscommand).replace("\\","\\\\").encode() print "Entering skeinforge settings: ",param subprocess.call(shlex.split(param)) else: - param = self.expandcommand(self.settings.slicecommand).replace("$s",l[0]).replace("$o",l[0].replace(".stl","_export.gcode").replace(".STL","_export.gcode")).encode() + param = self.expandcommand(self.settings.slicecommand).encode() print "Slicing: ",param - subprocess.call(shlex.split(param)) + params=[i.replace("$s",l[0]).replace("$o",l[0].replace(".stl","_export.gcode").replace(".STL","_export.gcode")).encode() for i in shlex.split(param.replace("\\","\\\\").encode())] + subprocess.call(params) print "Loading skeined file." self.do_load(l[0].replace(".stl","_export.gcode")) except Exception,e: diff --git a/pronterface.py b/pronterface.py index e95e01a..aac9e2a 100755 --- a/pronterface.py +++ b/pronterface.py @@ -1257,13 +1257,10 @@ class PronterWindow(wx.Frame,pronsole.pronsole): def skein_func(self): try: import shlex - param = self.expandcommand(self.settings.slicecommand).replace("$s",self.filename).replace("$o",self.filename.replace(".stl","_export.gcode").replace(".STL","_export.gcode")).encode() - print shlex.split(param.replace("\\","\\\\")) + param = self.expandcommand(self.settings.slicecommand).encode() print "Slicing: ",param - self.cancelskein=0 - #p=subprocess.Popen(param,shell=True,bufsize=10,stderr=subprocess.STDOUT,stdout=subprocess.PIPE,close_fds=True) - pararray=shlex.split(param.replace("\\","\\\\")) - #print pararray + pararray=[i.replace("$s",self.filename).replace("$o",self.filename.replace(".stl","_export.gcode").replace(".STL","_export.gcode")).encode() for i in shlex.split(param.replace("\\","\\\\").encode())] + #print pararray self.skeinp=subprocess.Popen(pararray,stderr=subprocess.STDOUT,stdout=subprocess.PIPE) while True: o = self.skeinp.stdout.read(1)