chiark / gitweb /
Use a function to generate the "_export.xxx" filename
authordaid <daid303@gmail.com>
Tue, 29 May 2012 11:42:33 +0000 (13:42 +0200)
committerdaid <daid303@gmail.com>
Tue, 29 May 2012 11:42:33 +0000 (13:42 +0200)
Cura/gui/mainWindow.py
Cura/gui/preview3d.py
Cura/gui/projectPlanner.py
Cura/gui/simpleMode.py
Cura/gui/sliceProgessPanel.py
Cura/util/sliceRun.py

index d4b8f55f7003f9d9fff15712932282b089b673a7..450e227240aeb7f639c9b2cc5d2e9de42d55f5fa 100644 (file)
@@ -18,6 +18,7 @@ from gui import projectPlanner
 from gui import icon
 from util import profile
 from util import version
+from util import sliceRun
 
 def main():
        app = wx.App(False)
@@ -333,10 +334,10 @@ class mainWindow(configBase.configWindowBase):
                if len(self.filelist) < 1:
                        wx.MessageBox('You need to load a file and slice it before you can print it.', 'Print error', wx.OK | wx.ICON_INFORMATION)
                        return
-               if not os.path.exists(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode"):
+               if not os.path.exists(sliceRun.getExportFilename(self.filelist[0])):
                        wx.MessageBox('You need to slice the file to GCode before you can print it.', 'Print error', wx.OK | wx.ICON_INFORMATION)
                        return
-               printWindow.printFile(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode")
+               printWindow.printFile(sliceRun.getExportFilename(self.filelist[0]))
 
        def OnExpertOpen(self, e):
                ecw = expertConfig.expertConfigWindow()
index 43cb8c98f1163024f49ed195ebeae409f085abce..e9c73783ed8e762081a4923daea80bbbb9934812 100644 (file)
@@ -21,6 +21,7 @@ from util import profile
 from util import gcodeInterpreter\r
 from util import stl\r
 from util import util3d\r
+from util import sliceRun\r
 \r
 class previewObject():\r
        def __init__(self):\r
@@ -207,8 +208,8 @@ class previewPanel(wx.Panel):
                                self.logFileTime = None\r
                        obj.filename = filelist[idx]\r
                \r
-               self.gcodeFilename = filelist[0][: filelist[0].rfind('.')] + "_export.gcode"\r
-               self.logFilename = filelist[0][: filelist[0].rfind('.')] + "_export.log"\r
+               self.gcodeFilename = sliceRun.getExportFilename(filelist[0])\r
+               self.logFilename = sliceRun.getExportFilename(filelist[0], "log")\r
                #Do the STL file loading in a background thread so we don't block the UI.\r
                if self.loadThread != None and self.loadThread.isAlive():\r
                        self.loadThread.join()\r
index 054fbe71678876ef8eb0c2887ad506fde152aaf7..8096129cb32484aef1206be54e82760f04877a48 100644 (file)
@@ -893,7 +893,7 @@ class ProjectSliceProgressWindow(wx.Frame):
                        profile.resetTempOverride()\r
                        \r
                        if not action.usePreviousSlice:\r
-                               f = open(action.filename[: action.filename.rfind('.')] + "_export.project_tmp", "r")\r
+                               f = open(sliceRun.getExportFilename(action.filename, "project_tmp"), "r")\r
                                data = f.read(4096)\r
                                while data != '':\r
                                        resultFile.write(data)\r
@@ -902,7 +902,7 @@ class ProjectSliceProgressWindow(wx.Frame):
                                savedCenterX = action.centerX\r
                                savedCenterY = action.centerY\r
                        else:\r
-                               f = open(action.filename[: action.filename.rfind('.')] + "_export.project_tmp", "r")\r
+                               f = open(sliceRun.getExportFilename(action.filename, "project_tmp"), "r")\r
                                for line in f:\r
                                        if line[0] != ';':\r
                                                if 'X' in line:\r
@@ -913,7 +913,7 @@ class ProjectSliceProgressWindow(wx.Frame):
                                f.close()\r
 \r
                        if not action.leaveResultForNextSlice:\r
-                               os.remove(action.filename[: action.filename.rfind('.')] + "_export.project_tmp")\r
+                               os.remove(sliceRun.getExportFilename(action.filename, "project_tmp"))\r
                        \r
                        wx.CallAfter(self.progressGauge.SetValue, 10000)\r
                        self.totalDoneFactor = 0.0\r
index ffd2ac7c0f72927dca29867a117df593a5b3161d..ed885d676953510336ccd9521871887b6fed10e0 100644 (file)
@@ -14,6 +14,7 @@ from gui import printWindow
 from gui import icon
 from util import profile
 from util import version
+from util import sliceRun
 
 class simpleModeWindow(configBase.configWindowBase):
        "Main user interface window for Quickprint mode"
@@ -276,10 +277,10 @@ class simpleModeWindow(configBase.configWindowBase):
                if len(self.filelist) < 1:
                        wx.MessageBox('You need to load a file and slice it before you can print it.', 'Print error', wx.OK | wx.ICON_INFORMATION)
                        return
-               if not os.path.exists(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode"):
+               if not os.path.exists(sliceRun.getExportFilename(self.filelist[0])):
                        wx.MessageBox('You need to slice the file to GCode before you can print it.', 'Print error', wx.OK | wx.ICON_INFORMATION)
                        return
-               printWindow.printFile(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode")
+               printWindow.printFile(sliceRun.getExportFilename(self.filelist[0]))
 
        def OnNormalSwitch(self, e):
                from gui import mainWindow
index d2240a565754bd788f7f4faef0ab10dc03482bc2..344ea64280bb495e2cff69a50a003ff335ee853b 100644 (file)
@@ -68,7 +68,7 @@ class sliceProgessPanel(wx.Panel):
                LogWindow('\n'.join(self.progressLog))
        
        def OnOpenFileLocation(self, e):
-               exporer.openExporer(self.filelist[0][: self.filelist[0].rfind('.')] + "_export.gcode")
+               exporer.openExporer(sliceRun.getExportFilename(self.filelist[0]))
        
        def OnSliceDone(self, result):
                self.progressGauge.Destroy()
@@ -145,7 +145,7 @@ class WorkerThread(threading.Thread):
                                return
                        line = p.stdout.readline()
                self.returnCode = p.wait()
-               logfile = open(self.filelist[self.fileIdx][: self.filelist[self.fileIdx].rfind('.')] + "_export.log", "w")
+               logfile = open(sliceRun.getExportFilename(self.filelist[self.fileIdx], "log"), "w")
                for logLine in self.progressLog:
                        logfile.write(logLine)
                        logfile.write('\n')
@@ -155,19 +155,19 @@ class WorkerThread(threading.Thread):
                        if len(self.filelist) > 1:
                                self._stitchMultiExtruder()
                        self.gcode = gcodeInterpreter.gcode()
-                       self.gcode.load(self.filelist[0][:self.filelist[0].rfind('.')]+'_export.gcode')
+                       self.gcode.load(sliceRun.getExportFilename(self.filelist[0]))
                        wx.CallAfter(self.notifyWindow.OnSliceDone, self)
                else:
                        self.run()
        
        def _stitchMultiExtruder(self):
                files = []
-               resultFile = open(self.filelist[0][:self.filelist[0].rfind('.')]+'_export.gcode', "w")
+               resultFile = open(sliceRun.getExportFilename(self.filelist[0]), "w")
                resultFile.write(';TYPE:CUSTOM\n')
                resultFile.write(profile.getAlterationFileContents('start.gcode'))
                for filename in self.filelist:
-                       if os.path.isfile(filename[:filename.rfind('.')]+'_export.multi_extrude_tmp'):
-                               files.append(open(filename[:filename.rfind('.')]+'_export.multi_extrude_tmp', "r"))
+                       if os.path.isfile(sliceRun.getExportFilename(filename, 'multi_extrude_tmp')):
+                               files.append(open(sliceRun.getExportFilename(filename, 'multi_extrude_tmp'), "r"))
                        else:
                                return
                
@@ -201,7 +201,7 @@ class WorkerThread(threading.Thread):
                for f in files:
                        f.close()
                for filename in self.filelist:
-                       os.remove(filename[:filename.rfind('.')]+'_export.multi_extrude_tmp')
+                       os.remove(sliceRun.getExportFilename(filename, 'multi_extrude_tmp'))
                resultFile.write(';TYPE:CUSTOM\n')
                resultFile.write(profile.getAlterationFileContents('end.gcode'))
                resultFile.close()
index 7c2ca547c9d1e90df803eece9b95518eacc63a8e..47f585d08fdac46552f4b5685ece2a28512e57c1 100644 (file)
@@ -83,6 +83,9 @@ def runSlice(fileNames):
                else:
                        subprocess.call([pypyExe, os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", os.path.split(sys.argv[0])[1])), '-p', profile.getGlobalProfileString(), fileName])
 
+def getExportFilename(filename, ext = "gcode"):
+       return "%s_export.%s" % (filename[: filename.rfind('.')], ext)
+
 def getSliceCommand(filename):
        if profile.getPreference('slicer').startswith('Slic3r') and getSlic3rExe() != False:
                slic3rExe = getSlic3rExe()