Cura/plugins/VersionUpgrade/VersionUpgrade49to50/__init__.py
Kostas Karmas 696844f1cf Add VersionUpgrader for libArachne 5.0
Things to note:

* Since there is no VersionUpgrader from 4.8 to 4.9, this versionUpgrader attempts to upgrade
  files made in 4.8. This means that it touches files with setting_version = 16.
* The upgrade of the setting_version to 18 is currently commented out because we are not entirely
  sure that 18 will be the setting_version in 5.0.
* This versionUpgrader removes the following three settings that were removed in libArachne
	* "Compensate Wall Overlaps"
	* "Compensate Outer Wall Overlaps"
	* "Compensate Inner Wall Overlaps"
* The VersionUpgrader also disabled Fuzzy Skin from any profiles that may have it enabled, as fuzzy
  skin currently doesn't work in libArachne.
* The printer definitions have NOT been updated to the new setting_version to avoid having to deal
  with an enormous merge conflict in case the setting_version of 5.0 is something other than 18.
* Since the VersionUpgrader does not alter the setting_version, it will run every time Cura starts.

In short, this versionUpgrader runs and removes the deleted settings but it does not really change
the setting_version of any files.

Contributes to CURA-7683 and CURA-7656
2020-12-02 12:04:06 +01:00

67 lines
3.1 KiB
Python

# Copyright (c) 2020 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from typing import Any, Dict, TYPE_CHECKING
from . import VersionUpgrade49to50
if TYPE_CHECKING:
from UM.Application import Application
upgrade = VersionUpgrade49to50.VersionUpgrade49to50()
def getMetaData() -> Dict[str, Any]:
return { # Since there is no VersionUpgrade from 48 to 49 yet, upgrade the 48 profiles to 50.
"version_upgrade": {
# From To Upgrade function
("preferences", 6000016): ("preferences", 6000018, upgrade.upgradePreferences),
("machine_stack", 4000016): ("machine_stack", 4000018, upgrade.upgradeStack),
("extruder_train", 4000016): ("extruder_train", 4000018, upgrade.upgradeStack),
("definition_changes", 4000016): ("definition_changes", 4000018, upgrade.upgradeInstanceContainer),
("quality_changes", 4000016): ("quality_changes", 4000018, upgrade.upgradeInstanceContainer),
("quality", 4000016): ("quality", 4000018, upgrade.upgradeInstanceContainer),
("user", 4000016): ("user", 4000018, upgrade.upgradeInstanceContainer),
("preferences", 6000016): ("preferences", 6000018, upgrade.upgradePreferences),
("machine_stack", 4000016): ("machine_stack", 4000018, upgrade.upgradeStack),
("extruder_train", 4000016): ("extruder_train", 4000018, upgrade.upgradeStack),
("definition_changes", 4000016): ("definition_changes", 4000018, upgrade.upgradeInstanceContainer),
("quality_changes", 4000016): ("quality_changes", 4000018, upgrade.upgradeInstanceContainer),
("quality", 4000016): ("quality", 4000018, upgrade.upgradeInstanceContainer),
("user", 4000016): ("user", 4000018, upgrade.upgradeInstanceContainer),
},
"sources": {
"preferences": {
"get_version": upgrade.getCfgVersion,
"location": {"."}
},
"machine_stack": {
"get_version": upgrade.getCfgVersion,
"location": {"./machine_instances"}
},
"extruder_train": {
"get_version": upgrade.getCfgVersion,
"location": {"./extruders"}
},
"definition_changes": {
"get_version": upgrade.getCfgVersion,
"location": {"./definition_changes"}
},
"quality_changes": {
"get_version": upgrade.getCfgVersion,
"location": {"./quality_changes"}
},
"quality": {
"get_version": upgrade.getCfgVersion,
"location": {"./quality"}
},
"user": {
"get_version": upgrade.getCfgVersion,
"location": {"./user"}
}
}
}
def register(app: "Application") -> Dict[str, Any]:
return {"version_upgrade": upgrade}