In the proposed filename, the last character was always missing.
Replace some similar string slicing/rfind with splitting.
gcodeFilename = None
if len(filenames) == 1:
filename = filenames[0]
- ext = filename[filename.rfind('.'):].lower()
+ ext = os.path.splitext(filename)[1]
if ext == '.g' or ext == '.gcode':
gcodeFilename = filename
mainWindow.addToModelMRU(filename)
# directory: queue all included files and directories
filenames.extend(os.path.join(filename, f) for f in os.listdir(filename))
else:
- ext = filename[filename.rfind('.'):].lower()
+ ext = os.path.splitext(filename)[1]
if ext == '.ini':
profile.loadProfile(filename)
mainWindow.addToProfileMRU(filename)
def showSaveGCode(self):
dlg=wx.FileDialog(self, _("Save toolpath"), os.path.dirname(profile.getPreference('lastFile')), style=wx.FD_SAVE)
- filename = self._scene._objectList[0].getName()
- filename = filename[:filename.rfind('.')] + '.gcode'
+ filename = self._scene._objectList[0].getName() + '.gcode'
dlg.SetFilename(filename)
dlg.SetWildcard('Toolpath (*.gcode)|*.gcode;*.g')
if dlg.ShowModal() != wx.ID_OK:
else:
self._name = os.path.basename(originFilename)
if '.' in self._name:
- self._name = self._name[0:self._name.rfind('.')]
+ self._name = os.path.splitext(self._name)[0]
self._meshList = []
self._position = numpy.array([0.0, 0.0])
self._matrix = numpy.matrix([[1,0,0],[0,1,0],[0,0,1]], numpy.float64)
from __future__ import absolute_import
__copyright__ = "Copyright (C) 2013 David Braam - Released under terms of the AGPLv3 License"
+import os
+
from Cura.util.meshLoaders import stl
from Cura.util.meshLoaders import obj
from Cura.util.meshLoaders import dae
# DAE files are a mess, but they can contain scenes of objects as well as grouped meshes
def loadMeshes(filename):
- ext = filename[filename.rfind('.'):].lower()
+ ext = os.path.splitext(filename)[1].lower()
if ext == '.stl':
return stl.loadScene(filename)
if ext == '.obj':
return []
def saveMeshes(filename, objects):
- ext = filename[filename.rfind('.'):].lower()
+ ext = os.path.splitext(filename)[1].lower()
if ext == '.stl':
stl.saveScene(filename, objects)
return