Let _findInstanceContainerDefinitionId work with DefinitionContainerInterface

But where it needs the .id field it needs to ignore this type because this works with getattr weirdness.

Contributes to issue CURA-5330.
This commit is contained in:
Ghostkeeper 2018-06-13 17:22:17 +02:00
parent eac3c759cd
commit b331736cb2
No known key found for this signature in database
GPG key ID: 5252B696FB5E7C7A

View file

@ -303,15 +303,15 @@ class CuraContainerStack(ContainerStack):
#
# \return The ID of the definition container to use when searching for instance containers.
@classmethod
def _findInstanceContainerDefinitionId(cls, machine_definition: DefinitionContainer) -> str:
def _findInstanceContainerDefinitionId(cls, machine_definition: DefinitionContainerInterface) -> str:
quality_definition = machine_definition.getMetaDataEntry("quality_definition")
if not quality_definition:
return machine_definition.id
return machine_definition.id #type: ignore
definitions = ContainerRegistry.getInstance().findDefinitionContainers(id = quality_definition)
if not definitions:
Logger.log("w", "Unable to find parent definition {parent} for machine {machine}", parent = quality_definition, machine = machine_definition.id)
return machine_definition.id
Logger.log("w", "Unable to find parent definition {parent} for machine {machine}", parent = quality_definition, machine = machine_definition.id) #type: ignore
return machine_definition.id #type: ignore
return cls._findInstanceContainerDefinitionId(definitions[0])