From 00f21069e75cd69f9f1ac9c80c4ec6c959607f64 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 22 Jul 2019 16:41:08 +0200 Subject: [PATCH] Ensure that metadata entries in cura namespace are stored correctly CURA-6672 --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 68c8efc50f..f8cd2dda71 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -190,13 +190,16 @@ class XmlMaterialProfile(InstanceContainer): ## End Name Block for key, value in metadata.items(): - builder.start(key) # type: ignore + key_to_use = key + if key in self._metadata_tags_that_have_cura_namespace: + key_to_use = "cura:" + key_to_use + builder.start(key_to_use) # type: ignore if value is not None: #Nones get handled well by the builder. #Otherwise the builder always expects a string. #Deserialize expects the stringified version. value = str(value) builder.data(value) - builder.end(key) + builder.end(key_to_use) builder.end("metadata") ## End Metadata Block @@ -1183,6 +1186,8 @@ class XmlMaterialProfile(InstanceContainer): def __str__(self): return "".format(my_id = self.getId(), name = self.getName(), base_file = self.getMetaDataEntry("base_file")) + _metadata_tags_that_have_cura_namespace = ["pva_compatible", "breakaway_compatible"] + # Map XML file setting names to internal names __material_settings_setting_map = { "print temperature": "default_material_print_temperature",