Merge branch 'master' of github.com:Ultimaker/Cura

This commit is contained in:
Jaime van Kessel 2020-06-30 13:41:38 +02:00
commit db65a092c3
No known key found for this signature in database
GPG Key ID: 3710727397403C91

View File

@ -18,6 +18,9 @@ from cura.Snapshot import Snapshot
from cura.Utils.Threading import call_on_qt_thread from cura.Utils.Threading import call_on_qt_thread
from UM.i18n import i18nCatalog from UM.i18n import i18nCatalog
METADATA_OBJECTS_PATH = "metadata/objects"
catalog = i18nCatalog("cura") catalog = i18nCatalog("cura")
@ -53,6 +56,8 @@ class UFPWriter(MeshWriter):
archive = VirtualFile() archive = VirtualFile()
archive.openStream(stream, "application/x-ufp", OpenMode.WriteOnly) archive.openStream(stream, "application/x-ufp", OpenMode.WriteOnly)
self._writeObjectList(archive)
#Store the g-code from the scene. #Store the g-code from the scene.
archive.addContentType(extension = "gcode", mime_type = "text/x-gcode") archive.addContentType(extension = "gcode", mime_type = "text/x-gcode")
gcode_textio = StringIO() #We have to convert the g-code into bytes. gcode_textio = StringIO() #We have to convert the g-code into bytes.
@ -139,3 +144,15 @@ class UFPWriter(MeshWriter):
Logger.error(error_msg) Logger.error(error_msg)
return False return False
return True return True
@staticmethod
def _writeObjectList(archive):
"""Write a json list of object names to the METADATA_OBJECTS_PATH metadata field
To retrieve, use: `archive.getMetadata(METADATA_OBJECTS_PATH)`
"""
objectsModel = CuraApplication.getInstance().getObjectsModel()
objectMetas = [{"name": item["name"]} for item in objectsModel.items]
data = {METADATA_OBJECTS_PATH: objectMetas}
archive.setMetadata(data)