Fix circular import problem caused by moving SettingVersion into CuraApplication

CURA-3756
This commit is contained in:
Lipu Fei 2017-05-16 14:54:57 +02:00
parent 50bda1c9dd
commit 121ebd79cf
4 changed files with 15 additions and 12 deletions

View File

@ -28,7 +28,6 @@ from UM.Settings.ContainerRegistry import ContainerRegistry
from UM.i18n import i18nCatalog
import cura.CuraApplication
from cura.Settings.ExtruderManager import ExtruderManager
catalog = i18nCatalog("cura")
@ -919,7 +918,8 @@ class ContainerManager(QObject):
quality_changes.setDefinition(self._container_registry.findContainers(id = "fdmprinter")[0])
else:
quality_changes.setDefinition(QualityManager.getInstance().getParentMachineDefinition(machine_definition))
quality_changes.addMetaDataEntry("setting_version", cura.CuraApplication.CuraApplication.SettingVersion)
from cura.CuraApplication import CuraApplication
quality_changes.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
return quality_changes

View File

@ -11,7 +11,6 @@ from .GlobalStack import GlobalStack
from .ExtruderStack import ExtruderStack
from typing import Optional
import cura.CuraApplication
## Contains helper functions to create new machines.
class CuraStackBuilder:
@ -76,7 +75,8 @@ class CuraStackBuilder:
user_container = InstanceContainer(new_stack_id + "_user")
user_container.addMetaDataEntry("type", "user")
user_container.addMetaDataEntry("extruder", new_stack_id)
user_container.addMetaDataEntry("setting_version", cura.CuraApplication.CuraApplication.SettingVersion)
from cura.CuraApplication import CuraApplication
user_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
user_container.setDefinition(machine_definition)
stack.setUserChanges(user_container)
@ -125,7 +125,8 @@ class CuraStackBuilder:
user_container = InstanceContainer(new_stack_id + "_user")
user_container.addMetaDataEntry("type", "user")
user_container.addMetaDataEntry("machine", new_stack_id)
user_container.addMetaDataEntry("setting_version", cura.CuraApplication.CuraApplication.SettingVersion)
from cura.CuraApplication import CuraApplication
user_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
user_container.setDefinition(definition)
stack.setUserChanges(user_container)

View File

@ -18,8 +18,6 @@ from UM.Settings.ContainerStack import ContainerStack
from UM.Settings.DefinitionContainer import DefinitionContainer
from typing import Optional, List, TYPE_CHECKING, Union
import cura.CuraApplication
if TYPE_CHECKING:
from cura.Settings.ExtruderStack import ExtruderStack
from cura.Settings.GlobalStack import GlobalStack
@ -365,7 +363,8 @@ class ExtruderManager(QObject):
user_profile = InstanceContainer(extruder_stack_id + "_current_settings") # Add an empty user profile.
user_profile.addMetaDataEntry("type", "user")
user_profile.addMetaDataEntry("extruder", extruder_stack_id)
user_profile.addMetaDataEntry("setting_version", cura.CuraApplication.CuraApplication.SettingVersion)
from cura.CuraApplication import CuraApplication
user_profile.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
user_profile.setDefinition(machine_definition)
container_registry.addContainer(user_profile)
container_stack.addContainer(user_profile)

View File

@ -68,11 +68,12 @@ def test_addContainerGlobalStack(container_registry, definition_container):
assert type(mock_super_add_container.call_args_list[0][0][0]) == GlobalStack
def test_addContainerGoodSettingVersion(container_registry, definition_container):
definition_container.getMetaData()["setting_version"] = 3
from cura.CuraApplication import CuraApplication
definition_container.getMetaData()["setting_version"] = CuraApplication.SettingVersion
container_registry.addContainer(definition_container)
instance = UM.Settings.InstanceContainer.InstanceContainer(container_id = "Test Instance")
instance.addMetaDataEntry("setting_version", 3)
instance.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
instance.setDefinition(definition_container)
mock_super_add_container = unittest.mock.MagicMock() #Take the role of the Uranium-ContainerRegistry where the resulting containers get registered.
@ -82,7 +83,8 @@ def test_addContainerGoodSettingVersion(container_registry, definition_container
mock_super_add_container.assert_called_once_with(instance) #The instance must have been registered now.
def test_addContainerNoSettingVersion(container_registry, definition_container):
definition_container.getMetaData()["setting_version"] = 3
from cura.CuraApplication import CuraApplication
definition_container.getMetaData()["setting_version"] = CuraApplication.SettingVersion
container_registry.addContainer(definition_container)
instance = UM.Settings.InstanceContainer.InstanceContainer(container_id = "Test Instance")
@ -96,7 +98,8 @@ def test_addContainerNoSettingVersion(container_registry, definition_container):
mock_super_add_container.assert_not_called() #Should not get passed on to UM.Settings.ContainerRegistry.addContainer, because the setting_version is interpreted as 0!
def test_addContainerBadSettingVersion(container_registry, definition_container):
definition_container.getMetaData()["setting_version"] = 3
from cura.CuraApplication import CuraApplication
definition_container.getMetaData()["setting_version"] = CuraApplication.SettingVersion
container_registry.addContainer(definition_container)
instance = UM.Settings.InstanceContainer.InstanceContainer(container_id = "Test Instance")