mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Added function to save a single stack to file.
CURA-2279
This commit is contained in:
parent
edb1a143ea
commit
03c28537f2
1 changed files with 23 additions and 21 deletions
|
@ -327,29 +327,31 @@ class CuraApplication(QtApplication):
|
||||||
f.write(data)
|
f.write(data)
|
||||||
|
|
||||||
for stack in ContainerRegistry.getInstance().findContainerStacks():
|
for stack in ContainerRegistry.getInstance().findContainerStacks():
|
||||||
if not stack.isDirty():
|
self.saveStack(stack)
|
||||||
continue
|
|
||||||
|
|
||||||
try:
|
def saveStack(self, stack):
|
||||||
data = stack.serialize()
|
if not stack.isDirty():
|
||||||
except NotImplementedError:
|
return
|
||||||
continue
|
try:
|
||||||
except Exception:
|
data = stack.serialize()
|
||||||
Logger.logException("e", "An exception occurred when serializing container %s", instance.getId())
|
except NotImplementedError:
|
||||||
continue
|
return
|
||||||
|
except Exception:
|
||||||
|
Logger.logException("e", "An exception occurred when serializing container %s", stack.getId())
|
||||||
|
return
|
||||||
|
|
||||||
mime_type = ContainerRegistry.getMimeTypeForContainer(type(stack))
|
mime_type = ContainerRegistry.getMimeTypeForContainer(type(stack))
|
||||||
file_name = urllib.parse.quote_plus(stack.getId()) + "." + mime_type.preferredSuffix
|
file_name = urllib.parse.quote_plus(stack.getId()) + "." + mime_type.preferredSuffix
|
||||||
stack_type = stack.getMetaDataEntry("type", None)
|
stack_type = stack.getMetaDataEntry("type", None)
|
||||||
path = None
|
path = None
|
||||||
if not stack_type or stack_type == "machine":
|
if not stack_type or stack_type == "machine":
|
||||||
path = Resources.getStoragePath(self.ResourceTypes.MachineStack, file_name)
|
path = Resources.getStoragePath(self.ResourceTypes.MachineStack, file_name)
|
||||||
elif stack_type == "extruder_train":
|
elif stack_type == "extruder_train":
|
||||||
path = Resources.getStoragePath(self.ResourceTypes.ExtruderStack, file_name)
|
path = Resources.getStoragePath(self.ResourceTypes.ExtruderStack, file_name)
|
||||||
if path:
|
if path:
|
||||||
stack.setPath(path)
|
stack.setPath(path)
|
||||||
with SaveFile(path, "wt", -1, "utf-8") as f:
|
with SaveFile(path, "wt", -1, "utf-8") as f:
|
||||||
f.write(data)
|
f.write(data)
|
||||||
|
|
||||||
|
|
||||||
@pyqtSlot(str, result = QUrl)
|
@pyqtSlot(str, result = QUrl)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue