FindQUalityByName now also uses fallback generic materials if no result was found

CURA-2852
This commit is contained in:
Jaime van Kessel 2016-10-31 15:43:53 +01:00
parent e74953c8bc
commit 41ed9661f6
2 changed files with 12 additions and 6 deletions

View file

@ -30,7 +30,14 @@ class QualityManager:
# \return the matching quality containers \type{List[ContainerInstance]}
def findQualityByName(self, quality_name, machine_definition=None, material_containers=None):
criteria = {"type": "quality", "name": quality_name}
return self._getFilteredContainersForStack(machine_definition, material_containers, **criteria)
result = self._getFilteredContainersForStack(machine_definition, material_containers, **criteria)
# Fall back to using generic materials and qualities if nothing could be found.
if not result and material_containers and len(material_containers) == 1:
basic_materials = self._getBasicMaterials(material_containers[0])
result = self._getFilteredContainersForStack(machine_definition, basic_materials, **criteria)
return result[0] if result else None
## Find a quality changes container by name.
#