1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- # Copyright (c) 2018 Ultimaker B.V.
- # Cura is released under the terms of the LGPLv3 or higher.
- from typing import Any, Dict, TYPE_CHECKING
- from . import VersionUpgrade26to27
- if TYPE_CHECKING:
- from UM.Application import Application
- upgrade = VersionUpgrade26to27.VersionUpgrade26to27()
- def getMetaData() -> Dict[str, Any]:
- return {
- "version_upgrade": {
- # From To Upgrade function
- ("machine_stack", 3000001): ("machine_stack", 3000002, upgrade.upgradeStack),
- ("extruder_train", 3000000): ("extruder_train", 3000002, upgrade.upgradeStack),
- # In 2.6.x, Preferences are saved with "version = 4" and no setting_version.
- # This means those Preferences files will still be treated as "4.0" as defined in VersionUpgrade25to26,
- # so the 25to26 upgrade routine will be called again.
- #
- # To fix this, we first fix the upgrade routine for 25to26 so it actually upgrades to "4.1", and then
- # here we can upgrade from "4.1" to "4.2" safely.
- #
- ("preferences", 4000001): ("preferences", 4000002, upgrade.upgradePreferences),
- # NOTE: All the instance containers share the same general/version, so we have to update all of them
- # if any is updated.
- ("quality_changes", 2000001): ("quality_changes", 2000002, upgrade.upgradeOtherContainer),
- ("user", 2000001): ("user", 2000002, upgrade.upgradeOtherContainer),
- ("definition_changes", 2000001): ("definition_changes", 2000002, upgrade.upgradeOtherContainer),
- ("variant", 2000000): ("variant", 2000002, upgrade.upgradeOtherContainer)
- },
- "sources": {
- "machine_stack": {
- "get_version": upgrade.getCfgVersion,
- "location": {"./machine_instances"}
- },
- "extruder_train": {
- "get_version": upgrade.getCfgVersion,
- "location": {"./extruders"}
- },
- "preferences": {
- "get_version": upgrade.getCfgVersion,
- "location": {"."}
- },
- "quality_changes": {
- "get_version": upgrade.getCfgVersion,
- "location": {"./quality"}
- },
- "user": {
- "get_version": upgrade.getCfgVersion,
- "location": {"./user"}
- },
- "definition_changes": {
- "get_version": upgrade.getCfgVersion,
- "location": {"./definition_changes"}
- },
- "variant": {
- "get_version": upgrade.getCfgVersion,
- "location": {"./variants"}
- }
- }
- }
- def register(app: "Application") -> Dict[str, Any]:
- return { "version_upgrade": upgrade }
|