def __init__(self): super().__init__(add_to_recent_files=False) MimeTypeDatabase.addMimeType( MimeType(name="application/x-ufp", comment="Ultimaker Format Package", suffixes=["ufp"]))
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType(name="application/x-cura-compressed-gcode-file", comment="Cura Compressed GCode File", suffixes=["gcode.gz"])) self._supported_extensions = [".gcode.gz"]
def __init__(self): super().__init__(add_to_recent_files=False) self._snapshot = None MimeTypeDatabase.addMimeType( MimeType(name="text/chitu-g-code", comment="chitu additionals", suffixes=["gcode"]))
def __init__(self): super().__init__() MimeTypeDatabase.addMimeType( MimeType(name="application/x-ste-cli-file", comment="STE Slicer Cli file", suffixes=["cli"])) self._supported_extensions = [".cli"]
def setUp(self): self._application = MagicMock() self._container_registry = MagicMock() self._machine_manager = MagicMock() self._mocked_mime = MagicMock() self._mocked_mime.preferredSuffix = "omg" self._mocked_mime.suffixes = ["omg"] self._mocked_mime.comment = "UnitTest!" self._mocked_container = MagicMock() self._mocked_container_data = "SOME DATA :D" self._mocked_container.serialize = MagicMock(return_value = self._mocked_container_data) self._containers_meta_data = [{"id": "test", "test_data": "omg"}] self._container_registry.findContainersMetadata = MagicMock(return_value = self._containers_meta_data) self._container_registry.getMimeTypeForContainer = MagicMock(return_value = self._mocked_mime) self._container_registry.findContainers = MagicMock(return_value = [self._mocked_container]) self._application.getContainerRegistry = MagicMock(return_value = self._container_registry) self._application.getMachineManager = MagicMock(return_value = self._machine_manager) # Destroy the previous instance of the container manager if ContainerManager.getInstance() is not None: ContainerManager._ContainerManager__instance = None self._container_manager = ContainerManager(self._application) MimeTypeDatabase.addMimeType(self._mocked_mime)
def setUp(self): self._application = MagicMock() self._container_registry = MagicMock() self._machine_manager = MagicMock() self._mocked_mime = MagicMock() self._mocked_mime.preferredSuffix = "omg" self._mocked_mime.suffixes = ["omg"] self._mocked_mime.comment = "UnitTest!" self._mocked_container = MagicMock() self._mocked_container_data = "SOME DATA :D" self._mocked_container.serialize = MagicMock( return_value=self._mocked_container_data) self._containers_meta_data = [{"id": "test", "test_data": "omg"}] self._container_registry.findContainersMetadata = MagicMock( return_value=self._containers_meta_data) self._container_registry.getMimeTypeForContainer = MagicMock( return_value=self._mocked_mime) self._container_registry.findContainers = MagicMock( return_value=[self._mocked_container]) self._application.getContainerRegistry = MagicMock( return_value=self._container_registry) self._application.getMachineManager = MagicMock( return_value=self._machine_manager) # Destroy the previous instance of the container manager if ContainerManager.getInstance() is not None: ContainerManager._ContainerManager__instance = None self._container_manager = ContainerManager(self._application) MimeTypeDatabase.addMimeType(self._mocked_mime)
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType(name="model/stl", comment="Uranium STL File", suffixes=["stl"])) self._supported_extensions = [".stl"]
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType(name="application/x-ufp", comment="Ultimaker Format Package", suffixes=["ufp"])) self._supported_extensions = [".ufp"]
def register(app): mime_type = MimeType( name = "application/x-ultimaker-material-profile", comment = "Ultimaker Material Profile", suffixes = [ "xml.fdm_material" ] ) MimeTypeDatabase.addMimeType(mime_type) return { "settings_container": XmlMaterialProfile.XmlMaterialProfile("default_xml_material_profile") }
def __init__(self) -> None: super().__init__() self._supported_extensions = [".amf"] self._namespaces = {} # type: Dict[str, str] MimeTypeDatabase.addMimeType( MimeType(name="application/x-amf", comment="AMF", suffixes=["amf"]))
def __init__(self): super().__init__(add_to_recent_files=False) MimeTypeDatabase.addMimeType( MimeType(name="application/x-ufp", comment="Cura UFP File", suffixes=["ufp"])) self._snapshot = None
def register(app): mime_type = MimeType(name="application/x-ultimaker-material-profile", comment="Ultimaker Material Profile", suffixes=["xml.fdm_material"]) MimeTypeDatabase.addMimeType(mime_type) return { "settings_container": XmlMaterialProfile.XmlMaterialProfile("default_xml_material_profile") }
def __init__(self): super().__init__(add_to_recent_files=False) self._snapshot = None MimeTypeDatabase.addMimeType( MimeType( name="application/gx", comment="GX (xgcode)", suffixes=["gx"], ))
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType( name = "application/x-cura-compressed-gcode-file", comment = "Cura Compressed GCode File", suffixes = ["gcode.gz"] ) ) self._supported_extensions = [".gcode.gz"]
def setup_module(): MimeTypeDatabase.addMimeType( MimeType(name="application/vnd.ms-package.3dmanufacturing-3dmodel+xml", comment="3MF", suffixes=["3mf"])) MimeTypeDatabase.addMimeType( MimeType(name="application/x-cura-gcode-file", comment="Cura G-code File", suffixes=["gcode"]))
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType( name = "application/x-ufp", comment = "Ultimaker Format Package", suffixes = ["ufp"] ) ) self._supported_extensions = [".ufp"]
def __init__(self): super().__init__(add_to_recent_files=False) MimeTypeDatabase.addMimeType( MimeType(name="application/x-cura-stl-file", comment="Cura UFP File", suffixes=["ufp"])) self._snapshot = None Application.getInstance().getOutputDeviceManager( ).writeStarted.connect(self._createSnapshot)
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType( name = "model/stl", comment = "Uranium STL File", suffixes = ["stl"] ) ) self._supported_extensions = [".stl"]
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType(name="application/x-cura-gcode-file", comment="Cura GCode File", suffixes=["gcode"])) self._supported_extensions = [".gcode", ".g"] self._flavor_reader = None Application.getInstance().getPreferences().addPreference( "gcodereader/show_caution", True)
def __init__(self): super().__init__(add_to_recent_files = False) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-ufp", comment = "Ultimaker Format Package", suffixes = ["ufp"] ) ) self._snapshot = None
def __init__(self) -> None: super().__init__() self._supported_extensions = [".amf"] self._namespaces = {} # type: Dict[str, str] MimeTypeDatabase.addMimeType( MimeType( name="application/x-amf", comment="AMF", suffixes=["amf"] ) )
def __init__(self): super().__init__("OpenSCAD") if Version("3.4") <= Version(Application.getInstance().getVersion()): MimeTypeDatabase.addMimeType(MimeType(name = "application/x-extension-scad", comment="OpenSCAD files", suffixes=["scad"] ) ) self._supported_extensions = [".scad".lower(), ] self.scanForAllPaths()
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType( name="application/vnd.ms-package.3dmanufacturing-3dmodel+xml", comment="3MF", suffixes=["3mf"])) self._supported_extensions = [".3mf"] self._root = None self._base_name = "" self._unit = None
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType( name = "application/x-cura-gcode-file", comment = "Cura GCode File", suffixes = ["gcode"] ) ) self._supported_extensions = [".gcode", ".g"] self._flavor_reader = None Application.getInstance().getPreferences().addPreference("gcodereader/show_caution", True)
def __init__(self): super().__init__() if Version("3.4") <= Version(Application.getInstance().getVersion()): MimeTypeDatabase.addMimeType(MimeType(name="application/x-extension-blend", comment="Blender files", suffixes=["BLEND"] ) ) self._supported_extensions = [".BLEND".lower(), ] self.findPathsForAllExtensions()
def mime_database(): MimeTypeDatabase._MimeTypeDatabase__custom_mimetypes = [] mime = MimeType( name = "application/x-test", comment = "Test Mimetype", suffixes = [ "test" ] ) MimeTypeDatabase.addMimeType(mime) mime = MimeType( name = "application/x-long-test", comment = "Long Test Mimetype", suffixes = [ "long.test" ] ) MimeTypeDatabase.addMimeType(mime) mime = MimeType( name = "application/x-multiple-test", comment = "Multiple Extension MIME Type", suffixes = [ "tost", "ost" ], preferred_suffix = "ost" ) MimeTypeDatabase.addMimeType(mime) mime = MimeType( name = "image/jpeg", comment = "Custom JPEG MIME Type", suffixes = [ "jpg", "jpeg" ], preferred_suffix = "jpg" ) MimeTypeDatabase.addMimeType(mime) return MimeTypeDatabase
def __init__(self): super().__init__() MimeTypeDatabase.addMimeType( MimeType( name="application/vnd.ms-package.3dmanufacturing-3dmodel+xml", comment="3MF", suffixes=["3mf"])) self._supported_extensions = [".3mf"] self._root = None self._base_name = "" self._unit = None self._object_count = 0 # Used to name objects as there is no node name yet.
def mime_database(): MimeTypeDatabase._MimeTypeDatabase__custom_mimetypes = [] mime = MimeType( name = "application/x-test", comment = "Test Mimetype", suffixes = [ "test" ] ) MimeTypeDatabase.addMimeType(mime) mime = MimeType( name = "application/x-long-test", comment = "Long Test Mimetype", suffixes = [ "long.test" ] ) MimeTypeDatabase.addMimeType(mime) mime = MimeType( name = "application/x-multiple-test", comment = "Multiple Extension MIME Type", suffixes = [ "tost", "ost" ], preferred_suffix = "ost" ) MimeTypeDatabase.addMimeType(mime) mime = MimeType( name = "image/jpeg", comment = "Custom JPEG MIME Type", suffixes = [ "jpg", "jpeg" ], preferred_suffix = "jpg" ) MimeTypeDatabase.addMimeType(mime) return MimeTypeDatabase
def __init__(self) -> None: super().__init__() MimeTypeDatabase.addMimeType( MimeType( name = "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", comment="3MF", suffixes=["3mf"] ) ) self._supported_extensions = [".3mf"] self._root = None self._base_name = "" self._unit = None self._object_count = 0 # Used to name objects as there is no node name yet.
def setup_module(): MimeTypeDatabase.addMimeType( MimeType( name = "application/vnd.ms-package.3dmanufacturing-3dmodel+xml", comment = "3MF", suffixes = ["3mf"] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-cura-gcode-file", comment = "Cura GCode File", suffixes = ["gcode"] ) )
def register(app): # add Mime type mime_type = MimeType( name = "application/x-ultimaker-material-profile", comment = "Ultimaker Material Profile", suffixes = [ "xml.fdm_material" ] ) MimeTypeDatabase.addMimeType(mime_type) # add upgrade version from cura.CuraApplication import CuraApplication from UM.VersionUpgradeManager import VersionUpgradeManager VersionUpgradeManager.getInstance().registerCurrentVersion( ("materials", XmlMaterialProfile.XmlMaterialProfile.Version * 1000000 + CuraApplication.SettingVersion), (CuraApplication.ResourceTypes.MaterialInstanceContainer, "application/x-ultimaker-material-profile") ) return {"version_upgrade": upgrader, "settings_container": XmlMaterialProfile.XmlMaterialProfile("default_xml_material_profile"), }
def register(app): # add Mime type mime_type = MimeType( name = "application/x-ultimaker-material-profile", comment = "Ultimaker Material Profile", suffixes = [ "xml.fdm_material" ] ) MimeTypeDatabase.addMimeType(mime_type) # add upgrade version from cura.CuraApplication import CuraApplication from UM.VersionUpgradeManager import VersionUpgradeManager VersionUpgradeManager.getInstance().registerCurrentVersion( ("materials", XmlMaterialProfile.XmlMaterialProfile.Version * 1000000 + CuraApplication.SettingVersion), (CuraApplication.ResourceTypes.MaterialInstanceContainer, "application/x-ultimaker-material-profile") ) return {"version_upgrade": upgrader, "settings_container": XmlMaterialProfile.XmlMaterialProfile("default_xml_material_profile"), }
def container_registry(application): MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-definitioncontainer", comment = "Uranium Definition Container", suffixes = ["def.json"] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-instancecontainer", comment = "Uranium Instance Container", suffixes = [ "inst.cfg" ] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-containerstack", comment = "Uranium Container Stack", suffixes = [ "stack.cfg" ] ) ) Resources.addSearchPath(os.path.dirname(os.path.abspath(__file__))) ContainerRegistry._ContainerRegistry__instance = None # Reset the private instance variable every time ContainerRegistry.setApplication(application) UM.Settings.ContainerStack.setContainerRegistry(ContainerRegistry.getInstance()) UM.Settings.InstanceContainer.setContainerRegistry(ContainerRegistry.getInstance()) return ContainerRegistry.getInstance()
def container_registry(application): MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-definitioncontainer", comment = "Uranium Definition Container", suffixes = ["def.json"] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-instancecontainer", comment = "Uranium Instance Container", suffixes = [ "inst.cfg" ] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-containerstack", comment = "Uranium Container Stack", suffixes = [ "stack.cfg" ] ) ) UM.Resources.addSearchPath(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", "Settings"))) UM.Settings.ContainerRegistry._ContainerRegistry__instance = None # Reset the private instance variable every time UM.PluginRegistry.getInstance().removeType("settings_container") UM.Settings.ContainerRegistry.ContainerRegistry.getInstance().load() return UM.Settings.ContainerRegistry.ContainerRegistry.getInstance()
def container_registry(application, test_containers_provider, plugin_registry: PluginRegistry): MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-definitioncontainer", comment = "Uranium Definition Container", suffixes = ["def.json"] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-instancecontainer", comment = "Uranium Instance Container", suffixes = [ "inst.cfg" ] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-containerstack", comment = "Uranium Container Stack", suffixes = [ "stack.cfg" ] ) ) ContainerRegistry._ContainerRegistry__instance = None # Reset the private instance variable every time registry = ContainerRegistry(application) #We need to mock the "priority" plug-in metadata field, but preferably without mocking an entire plug-in. with unittest.mock.patch("UM.PluginRegistry.PluginRegistry.getMetaData", unittest.mock.MagicMock(return_value = {"container_provider": {}})): registry.addProvider(test_containers_provider) UM.Settings.ContainerStack.setContainerRegistry(registry) UM.Settings.InstanceContainer.setContainerRegistry(registry) return registry
def container_registry(application, test_containers_provider, plugin_registry: PluginRegistry): MimeTypeDatabase.addMimeType( MimeType(name="application/x-uranium-definitioncontainer", comment="Uranium Definition Container", suffixes=["def.json"])) MimeTypeDatabase.addMimeType( MimeType(name="application/x-uranium-instancecontainer", comment="Uranium Instance Container", suffixes=["inst.cfg"])) MimeTypeDatabase.addMimeType( MimeType(name="application/x-uranium-containerstack", comment="Uranium Container Stack", suffixes=["stack.cfg"])) ContainerRegistry._ContainerRegistry__instance = None # Reset the private instance variable every time registry = ContainerRegistry(application) #We need to mock the "priority" plug-in metadata field, but preferably without mocking an entire plug-in. with unittest.mock.patch( "UM.PluginRegistry.PluginRegistry.getMetaData", unittest.mock.MagicMock(return_value={"container_provider": {}})): registry.addProvider(test_containers_provider) UM.Settings.ContainerStack.setContainerRegistry(registry) UM.Settings.InstanceContainer.setContainerRegistry(registry) return registry
def container_registry(application): MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-definitioncontainer", comment = "Uranium Definition Container", suffixes = ["def.json"] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-instancecontainer", comment = "Uranium Instance Container", suffixes = [ "inst.cfg" ] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-containerstack", comment = "Uranium Container Stack", suffixes = [ "stack.cfg" ] ) ) Resources.addSearchPath(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", "Settings"))) ContainerRegistry._ContainerRegistry__instance = None # Reset the private instance variable every time PluginRegistry.getInstance().removeType("settings_container") ContainerRegistry.getInstance().load() return ContainerRegistry.getInstance()
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) mime = MimeType( name = "application/x-uranium-definitioncontainer", comment = "Uranium Definition Container", suffixes = [ "def.json" ] ) MimeTypeDatabase.addMimeType(mime) mime = MimeType( name = "application/x-uranium-instancecontainer", comment = "Uranium Instance Container", suffixes = [ "inst.cfg" ] ) MimeTypeDatabase.addMimeType(mime) mime = MimeType( name = "application/x-uranium-containerstack", comment = "Uranium Container Stack", suffixes = [ "stack.cfg" ] ) MimeTypeDatabase.addMimeType(mime) self._emptyInstanceContainer = _EmptyInstanceContainer("empty") self._containers = [ self._emptyInstanceContainer ] self._id_container_cache = {} self._resource_types = [Resources.DefinitionContainers]
def container_registry(application): MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-definitioncontainer", comment = "Uranium Definition Container", suffixes = ["def.json"] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-instancecontainer", comment = "Uranium Instance Container", suffixes = [ "inst.cfg" ] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-containerstack", comment = "Uranium Container Stack", suffixes = [ "stack.cfg" ] ) ) ContainerRegistry.getInstance()._containers = {} # clear containers from previous iteration root_plugin_dir = os.path.join(os.path.dirname(__file__), "..", "..", "..", "plugins") PluginRegistry.getInstance().addPluginLocation(root_plugin_dir) PluginRegistry.getInstance().loadPlugin("LocalContainerProvider") plugin = PluginRegistry.getInstance().getPluginObject("LocalContainerProvider") ContainerRegistry.getInstance()._providers.append(plugin) PluginRegistry.getInstance()._plugins.clear() # remove plugins Resources.addSearchPath(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", "Settings"))) empty_container = ContainerRegistry.getInstance().getEmptyInstanceContainer() empty_definition_changes_container = empty_container empty_definition_changes_container.setMetaDataEntry("id", "empty_definition_changes") empty_definition_changes_container.setMetaDataEntry("type", "definition_changes") ContainerRegistry.getInstance().addContainer(empty_definition_changes_container) ContainerRegistry.getInstance().load() return ContainerRegistry.getInstance()
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) mime = MimeType(name="application/x-uranium-definitioncontainer", comment="Uranium Definition Container", suffixes=["def.json"]) MimeTypeDatabase.addMimeType(mime) mime = MimeType(name="application/x-uranium-instancecontainer", comment="Uranium Instance Container", suffixes=["inst.cfg"]) MimeTypeDatabase.addMimeType(mime) mime = MimeType(name="application/x-uranium-containerstack", comment="Uranium Container Stack", suffixes=["stack.cfg"]) MimeTypeDatabase.addMimeType(mime) self._emptyInstanceContainer = _EmptyInstanceContainer("empty") self._containers = [self._emptyInstanceContainer] self._resource_types = [Resources.DefinitionContainers]
def container_registry(application, test_containers_provider, plugin_registry: PluginRegistry): MimeTypeDatabase.addMimeType( MimeType(name="application/x-uranium-definitioncontainer", comment="Uranium Definition Container", suffixes=["def.json"])) MimeTypeDatabase.addMimeType( MimeType(name="application/x-uranium-instancecontainer", comment="Uranium Instance Container", suffixes=["inst.cfg"])) MimeTypeDatabase.addMimeType( MimeType(name="application/x-uranium-containerstack", comment="Uranium Container Stack", suffixes=["stack.cfg"])) ContainerRegistry._ContainerRegistry__instance = None # Reset the private instance variable every time registry = ContainerRegistry(application) #We need to mock the "priority" plug-in metadata field, but preferably without mocking an entire plug-in. with unittest.mock.patch( "UM.PluginRegistry.PluginRegistry.getMetaData", unittest.mock.MagicMock(return_value={"container_provider": {}})): registry.addProvider(test_containers_provider) # Make sure that a new database connection is used. db_path = os.path.join(Resources.getCacheStoragePath(), "containers.db") if os.path.exists(db_path): os.remove(db_path) container_registry._db_connection = None UM.Settings.ContainerStack.setContainerRegistry(registry) UM.Settings.InstanceContainer.setContainerRegistry(registry) return registry
# Copyright (c) 2015 Ultimaker B.V. # Uranium is released under the terms of the AGPLv3 or higher. import configparser from UM.Signal import Signal, signalemitter from UM.Logger import Logger from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType #To register the MIME type of the preference file. from UM.SaveFile import SaveFile MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-preferences", comment = "Uranium Preferences File", suffixes = ["cfg"], preferred_suffix = "cfg" ) ) ## Preferences are application based settings that are saved for future use. # Typical preferences would be window size, standard machine, etc. @signalemitter class Preferences: Version = 5 def __init__(self): super().__init__() self._file = None self._parser = None self._preferences = {}
property_name: str, context: Optional[PropertyEvaluationContext] = None) -> bool: if property_name is not "value": # Do not try to resolve anything but the "value" property return False if key in self._resolving_settings: # To prevent infinite recursion, if getProperty is called with the same key as # we are already trying to resolve, we should not try to resolve again. Since # this can happen multiple times when trying to resolve a value, we need to # track all settings that are being resolved. return False setting_state = super().getProperty(key, "state", context=context) if setting_state is not None and setting_state != InstanceState.Default: # When the user has explicitly set a value, we should ignore any resolve and # just return that value. return False return True ## private: global_stack_mime = MimeType(name="application/x-cura-globalstack", comment="Cura Global Stack", suffixes=["global.cfg"]) MimeTypeDatabase.addMimeType(global_stack_mime) ContainerRegistry.addContainerTypeByName(GlobalStack, "global_stack", global_stack_mime.name)
class InvalidDefinitionError(Exception): pass class IncorrectDefinitionVersionError(Exception): pass class InvalidOverrideError(Exception): pass MimeTypeDatabase.addMimeType( MimeType(name="application/x-uranium-definitioncontainer", comment="Uranium Definition Container", suffixes=["def.json"])) ## A container for SettingDefinition objects. # # class DefinitionContainer(QObject, DefinitionContainerInterface, PluginObject): Version = 2 ## Constructor # # \param container_id A unique, machine readable/writable ID for this container. def __init__(self, container_id: str, i18n_catalog: i18nCatalog = None,
from UM.Settings.Interfaces import ContainerInterface, ContainerRegistryInterface from UM.Settings.SettingInstance import SettingInstance class InvalidInstanceError(Exception): pass class IncorrectInstanceVersionError(Exception): pass class DefinitionNotFoundError(Exception): pass MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-instancecontainer", comment = "Uranium Instance Container", suffixes = [ "inst.cfg" ] ) ) ## A container for SettingInstance objects. # # @signalemitter class InstanceContainer(QObject, ContainerInterface, PluginObject): Version = 2 ## Constructor # # \param container_id A unique, machine readable/writable ID for this container.
def _shouldResolve(self, key: str, property_name: str) -> bool: if property_name is not "value": # Do not try to resolve anything but the "value" property return False if key in self._resolving_settings: # To prevent infinite recursion, if getProperty is called with the same key as # we are already trying to resolve, we should not try to resolve again. Since # this can happen multiple times when trying to resolve a value, we need to # track all settings that are being resolved. return False setting_state = super().getProperty(key, "state") if setting_state is not None and setting_state != InstanceState.Default: # When the user has explicitly set a value, we should ignore any resolve and # just return that value. return False return True ## private: global_stack_mime = MimeType( name = "application/x-cura-globalstack", comment = "Cura Global Stack", suffixes = ["global.cfg"] ) MimeTypeDatabase.addMimeType(global_stack_mime) ContainerRegistry.addContainerTypeByName(GlobalStack, "global_stack", global_stack_mime.name)
super().deserialize(contents, file_name) if "enabled" not in self.getMetaData(): self.setMetaDataEntry("enabled", "True") def _onPropertiesChanged(self, key: str, properties: Dict[str, Any]) -> None: # When there is a setting that is not settable per extruder that depends on a value from a setting that is, # we do not always get properly informed that we should re-evaluate the setting. So make sure to indicate # something changed for those settings. if not self.getNextStack(): return #There are no global settings to depend on. definitions = self.getNextStack().definition.findDefinitions(key = key) if definitions: has_global_dependencies = False for relation in definitions[0].relations: if not getattr(relation.target, "settable_per_extruder", True): has_global_dependencies = True break if has_global_dependencies: self.getNextStack().propertiesChanged.emit(key, properties) extruder_stack_mime = MimeType( name = "application/x-cura-extruderstack", comment = "Cura Extruder Stack", suffixes = ["extruder.cfg"] ) MimeTypeDatabase.addMimeType(extruder_stack_mime) ContainerRegistry.addContainerTypeByName(ExtruderStack, "extruder_stack", extruder_stack_mime.name)
class InvalidDefinitionError(Exception): pass class IncorrectDefinitionVersionError(Exception): pass class InvalidOverrideError(Exception): pass MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-definitioncontainer", comment = "Uranium Definition Container", suffixes = ["def.json"] ) ) ## A container for SettingDefinition objects. # # class DefinitionContainer(QObject, DefinitionContainerInterface, PluginObject): Version = 2 ## Constructor # # \param container_id A unique, machine readable/writable ID for this container. def __init__(self, container_id: str, i18n_catalog = None, *args, **kwargs):
from UM.Logger import Logger try: from . import UFPWriter except ImportError: Logger.log("w", "Could not import UFPWriter; libCharon may be missing") from UM.i18n import i18nCatalog #To translate the file format description. from UM.Mesh.MeshWriter import MeshWriter #For the binary mode flag. from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType MimeTypeDatabase.addMimeType( MimeType( name = "application/x-cura-stl-file", comment = "Cura UFP File", suffixes = ["ufp"] ) ) i18n_catalog = i18nCatalog("cura") def getMetaData(): if "UFPWriter.UFPWriter" not in sys.modules: return {} return { "mesh_writer": { "output": [ { "mime_type": "application/x-ufp",
from UM.Settings.SettingFunction import SettingFunction from UM.Settings.Validator import ValidatorState class IncorrectVersionError(Exception): pass class InvalidContainerStackError(Exception): pass MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-containerstack", comment = "Uranium Container Stack", suffixes = [ "stack.cfg" ] ) ) MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-extruderstack", comment = "Uranium Extruder Stack", suffixes = [ "stack.cfg" ] ) ) ## A stack of setting containers to handle setting value retrieval. @signalemitter
def __init__(self) -> None: super().__init__() self._supported_extensions = [ ".ctm", ".dae", ".gltf", ".glb", ".ply", ".zae" ] MimeTypeDatabase.addMimeType( MimeType(name="application/x-ctm", comment="Open Compressed Triangle Mesh", suffixes=["ctm"])) MimeTypeDatabase.addMimeType( MimeType(name="model/vnd.collada+xml", comment="COLLADA Digital Asset Exchange", suffixes=["dae"])) MimeTypeDatabase.addMimeType( MimeType(name="model/gltf-binary", comment="glTF Binary", suffixes=["glb"])) MimeTypeDatabase.addMimeType( MimeType(name="model/gltf+json", comment="glTF Embedded JSON", suffixes=["gltf"])) # Trimesh seems to have a bug when reading .off files. #MimeTypeDatabase.addMimeType( # MimeType( # name = "application/x-off", # comment = "Geomview Object File Format", # suffixes = ["off"] # ) #) MimeTypeDatabase.addMimeType( MimeType( name= "application/x-ply", # Wikipedia lists the MIME type as "text/plain" but that won't do as it's not unique to PLY files. comment="Stanford Triangle Format", suffixes=["ply"])) MimeTypeDatabase.addMimeType( MimeType(name="model/vnd.collada+xml+zip", comment="Compressed COLLADA Digital Asset Exchange", suffixes=["zae"]))
# Copyright (c) 2015 Ultimaker B.V. # Uranium is released under the terms of the AGPLv3 or higher. import configparser from UM.Signal import Signal, signalemitter from UM.Logger import Logger from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType #To register the MIME type of the preference file. from UM.SaveFile import SaveFile MimeTypeDatabase.addMimeType( MimeType( name = "application/x-uranium-preferences", comment = "Uranium Preferences File", suffixes = ["cfg"], preferred_suffix = "cfg" ) ) ## Preferences are application based settings that are saved for future use. # Typical preferences would be window size, standard machine, etc. @signalemitter class Preferences: Version = 4 def __init__(self): super().__init__() self._file = None self._parser = None self._preferences = {}