def loadMachineDefinitions(self): dirs = Resources.getAllPathsForType(Resources.MachineDefinitions) for dir in dirs: if not os.path.isdir(dir): continue for file_name in os.listdir(dir): data = None path = os.path.join(dir, file_name) if os.path.isdir(path): continue definition = MachineDefinition(self, path) try: definition.loadMetaData() except Exception as e: Logger.log( "e", "An error occurred loading Machine Definition %s: %s", path, str(e)) continue # Only add the definition if it did not exist yet. This prevents duplicates. if not self.findMachineDefinition(definition.getId(), definition.getVariantName()): self._machine_definitions.append(definition) self.machineDefinitionsChanged.emit()
def loadMachineDefinitions(self): dirs = Resources.getAllPathsForType(Resources.MachineDefinitions) for dir in dirs: if not os.path.isdir(dir): continue for file_name in os.listdir(dir): data = None path = os.path.join(dir, file_name) if os.path.isdir(path): continue definition = MachineDefinition(self, path) try: definition.loadMetaData() except Exception as e: Logger.log("e", "An error occurred loading Machine Definition %s: %s", path, str(e)) continue # Only add the definition if it did not exist yet. This prevents duplicates. if not self.findMachineDefinition(definition.getId(), definition.getVariantName()): self._machine_definitions.append(definition) self.machineDefinitionsChanged.emit()
def test_loadAll(self, machine_manager, file_name, expected): definition = MachineDefinition(machine_manager, self._getFilePath(file_name)) definition.loadAll() assert definition.getId() == expected["id"] assert len(definition.getMachineSettings()) == expected["machine_setting_count"] assert len(definition.getAllCategories()) == expected["category_count"] if "machine_settings" in expected: for expected_setting in expected["machine_settings"]: assert definition.isMachineSetting(expected_setting["id"]) assert definition.getSetting(expected_setting["id"]).getDefaultValue(None) == expected_setting["default"] if "categories" in expected: for expected_category in expected["categories"]: category = definition.getSettingsCategory(expected_category["id"]) assert category is not None assert category.getLabel() == expected_category["label"] assert category.isVisible() == expected_category["visible"] assert len(category.getAllSettings()) == expected_category["setting_count"] if "settings" in expected_category: for expected_setting in expected_category["settings"]: setting = category.getSetting(expected_setting["id"]) assert setting is not None assert setting.getLabel() == expected_setting["label"] assert setting.isVisible() == expected_setting["visible"] assert setting.getType() == expected_setting["type"] assert setting.getDefaultValue(None) == expected_setting["default"]
def test_loadMetaData(self, machine_manager, file_name, expected): definition = MachineDefinition(machine_manager, self._getFilePath(file_name)) definition.loadMetaData() assert definition.getId() == expected["id"] assert definition.getName() == expected["name"] assert definition.isVisible() == expected["visible"] assert definition.getVariantName() == expected["variant_name"] assert definition.getManufacturer() == expected["manufacturer"] assert definition.getAuthor() == expected["author"]
def test_loadAll(self, machine_manager, file_name, expected): definition = MachineDefinition(machine_manager, self._getFilePath(file_name)) definition.loadAll() assert definition.getId() == expected["id"] assert len(definition.getMachineSettings() ) == expected["machine_setting_count"] assert len(definition.getAllCategories()) == expected["category_count"] if "machine_settings" in expected: for expected_setting in expected["machine_settings"]: assert definition.isMachineSetting(expected_setting["id"]) assert definition.getSetting( expected_setting["id"]).getDefaultValue( None) == expected_setting["default"] if "categories" in expected: for expected_category in expected["categories"]: category = definition.getSettingsCategory( expected_category["id"]) assert category is not None assert category.getLabel() == expected_category["label"] assert category.isVisible() == expected_category["visible"] assert len(category.getAllSettings() ) == expected_category["setting_count"] if "settings" in expected_category: for expected_setting in expected_category["settings"]: setting = category.getSetting(expected_setting["id"]) assert setting is not None assert setting.getLabel() == expected_setting["label"] assert setting.isVisible( ) == expected_setting["visible"] assert setting.getType() == expected_setting["type"] assert setting.getDefaultValue( None) == expected_setting["default"]