mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Use container tree to check for variants when serialising
Not the variant manager, because it's deprecated. Contributes to issue CURA-6600.
This commit is contained in:
parent
3dc7c7b61c
commit
b60b13e5bf
1 changed files with 9 additions and 10 deletions
|
@ -226,7 +226,7 @@ class XmlMaterialProfile(InstanceContainer):
|
|||
machine_container_map = {} # type: Dict[str, InstanceContainer]
|
||||
machine_variant_map = {} # type: Dict[str, Dict[str, Any]]
|
||||
|
||||
variant_manager = CuraApplication.getInstance().getVariantManager()
|
||||
container_tree = ContainerTree.getInstance()
|
||||
|
||||
root_material_id = self.getMetaDataEntry("base_file") # if basefile is self.getId, this is a basefile.
|
||||
all_containers = registry.findInstanceContainers(base_file = root_material_id)
|
||||
|
@ -243,16 +243,15 @@ class XmlMaterialProfile(InstanceContainer):
|
|||
machine_variant_map[definition_id] = {}
|
||||
|
||||
variant_name = container.getMetaDataEntry("variant_name")
|
||||
if variant_name:
|
||||
variant_node = variant_manager.getVariantNode(definition_id, variant_name)
|
||||
if variant_node is None:
|
||||
if not variant_name:
|
||||
machine_container_map[definition_id] = container
|
||||
|
||||
if variant_name not in container_tree.machines[definition_id].variants:
|
||||
continue
|
||||
variant_node = container_tree.machines[definition_id].variants[variant_name]
|
||||
variant_dict = {"variant_node": variant_node,
|
||||
"material_container": container}
|
||||
machine_variant_map[definition_id][variant_name] = variant_dict
|
||||
continue
|
||||
|
||||
machine_container_map[definition_id] = container
|
||||
|
||||
# Map machine human-readable names to IDs
|
||||
product_id_map = self.getProductIdMap()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue