NotSupportedProfileContainer.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # Copyright (c) 2017 Ultimaker B.V.
  2. # Cura is released under the terms of the LGPLv3 or higher.
  3. from UM.Signal import signalemitter
  4. from UM.Settings.InstanceContainer import InstanceContainer
  5. from UM.Settings.ContainerRegistry import ContainerRegistry
  6. from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase
  7. ## A container for not supported profiles.
  8. #
  9. #
  10. @signalemitter
  11. class NotSupportedProfileContainer(InstanceContainer):
  12. def __init__(self, container_id: str, machine_id: str, material_id: str, *args, **kwargs):
  13. super().__init__(container_id, *args, **kwargs)
  14. # self._id = str(container_id) # type: str
  15. # self._name = "Not supported" # type: str
  16. self.setMetaData({
  17. "setting_version": 3,
  18. "supported": False,
  19. "type": "quality",
  20. "weight": "0",
  21. "material": material_id
  22. })
  23. # register this container
  24. ContainerRegistry.getInstance().addContainer(self)
  25. # set printer definition
  26. definition = ContainerRegistry.getInstance().findDefinitionContainers(id = machine_id)
  27. self.setDefinition(definition[0])
  28. # register the container mime type
  29. not_support_instance_mime = MimeType(
  30. name = "application/x-cura-notsupportedinstancecontainer",
  31. comment = "Cura Not Supported Instance Container",
  32. suffixes = []
  33. )
  34. MimeTypeDatabase.addMimeType(not_support_instance_mime)
  35. ContainerRegistry.addContainerTypeByName(NotSupportedProfileContainer, "not_supported_instance", not_support_instance_mime.name)