-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #19703 from Ultimaker/CURA-12097_upgrade_to_59
[CURA-12097] Upgrader for 5.8 -> 5.9 version.
- Loading branch information
Showing
7,465 changed files
with
7,634 additions
and
7,462 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
103 changes: 103 additions & 0 deletions
103
plugins/VersionUpgrade/VersionUpgrade58to59/VersionUpgrade58to59.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
# Copyright (c) 2024 UltiMaker | ||
# Cura is released under the terms of the LGPLv3 or higher. | ||
|
||
import configparser | ||
from typing import Dict, List, Tuple | ||
import io | ||
from UM.VersionUpgrade import VersionUpgrade | ||
|
||
# Just to be sure, since in my testing there were both 0.1.0 and 0.2.0 settings about. | ||
_PLUGIN_NAME = "_plugin__curaenginegradualflow" | ||
_FROM_PLUGINS_SETTINGS = { | ||
"gradual_flow_enabled", | ||
"max_flow_acceleration", | ||
"layer_0_max_flow_acceleration", | ||
"gradual_flow_discretisation_step_size", | ||
"reset_flow_duration", | ||
} # type: Set[str] | ||
|
||
_NEW_SETTING_VERSION = "24" | ||
|
||
|
||
class VersionUpgrade58to59(VersionUpgrade): | ||
def upgradePreferences(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: | ||
""" | ||
Upgrades preferences to remove from the visibility list the settings that were removed in this version. | ||
It also changes the preferences to have the new version number. | ||
This removes any settings that were removed in the new Cura version. | ||
:param serialized: The original contents of the preferences file. | ||
:param filename: The file name of the preferences file. | ||
:return: A list of new file names, and a list of the new contents for | ||
those files. | ||
""" | ||
parser = configparser.ConfigParser(interpolation = None) | ||
parser.read_string(serialized) | ||
|
||
# Update version number. | ||
parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION | ||
|
||
# Fix renamed settings for visibility | ||
if "visible_settings" in parser["general"]: | ||
all_setting_keys = parser["general"]["visible_settings"].strip().split(";") | ||
if all_setting_keys: | ||
for idx, key in enumerate(all_setting_keys): | ||
if key.startswith(_PLUGIN_NAME): | ||
all_setting_keys[idx] = key.split("__")[-1] | ||
parser["general"]["visible_settings"] = ";".join(all_setting_keys) | ||
|
||
result = io.StringIO() | ||
parser.write(result) | ||
return [filename], [result.getvalue()] | ||
|
||
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: | ||
""" | ||
Upgrades instance containers to remove the settings that were removed in this version. | ||
It also changes the instance containers to have the new version number. | ||
This removes any settings that were removed in the new Cura version and updates settings that need to be updated | ||
with a new value. | ||
:param serialized: The original contents of the instance container. | ||
:param filename: The original file name of the instance container. | ||
:return: A list of new file names, and a list of the new contents for | ||
those files. | ||
""" | ||
parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ()) | ||
parser.read_string(serialized) | ||
|
||
# Update version number. | ||
parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION | ||
|
||
# Rename settings. | ||
if "values" in parser: | ||
for key, value in parser["values"].items(): | ||
if key.startswith(_PLUGIN_NAME): | ||
parser["values"][key.split("__")[-1]] = parser["values"][key] | ||
del parser["values"][key] | ||
|
||
result = io.StringIO() | ||
parser.write(result) | ||
return [filename], [result.getvalue()] | ||
|
||
def upgradeStack(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: | ||
""" | ||
Upgrades stacks to have the new version number. | ||
:param serialized: The original contents of the stack. | ||
:param filename: The original file name of the stack. | ||
:return: A list of new file names, and a list of the new contents for | ||
those files. | ||
""" | ||
parser = configparser.ConfigParser(interpolation = None) | ||
parser.read_string(serialized) | ||
|
||
# Update version number. | ||
if "metadata" not in parser: | ||
parser["metadata"] = {} | ||
|
||
parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION | ||
|
||
result = io.StringIO() | ||
parser.write(result) | ||
return [filename], [result.getvalue()] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Copyright (c) 2024 UltiMaker | ||
# Cura is released under the terms of the LGPLv3 or higher. | ||
|
||
from typing import Any, Dict, TYPE_CHECKING | ||
|
||
from . import VersionUpgrade58to59 | ||
|
||
if TYPE_CHECKING: | ||
from UM.Application import Application | ||
|
||
upgrade = VersionUpgrade58to59.VersionUpgrade58to59() | ||
|
||
|
||
def getMetaData() -> Dict[str, Any]: | ||
return { | ||
"version_upgrade": { | ||
# From To Upgrade function | ||
("preferences", 7000023): ("preferences", 7000024, upgrade.upgradePreferences), | ||
("machine_stack", 6000023): ("machine_stack", 6000024, upgrade.upgradeStack), | ||
("extruder_train", 6000023): ("extruder_train", 6000024, upgrade.upgradeStack), | ||
("definition_changes", 4000023): ("definition_changes", 4000024, upgrade.upgradeInstanceContainer), | ||
("quality_changes", 4000023): ("quality_changes", 4000024, upgrade.upgradeInstanceContainer), | ||
("quality", 4000023): ("quality", 4000024, upgrade.upgradeInstanceContainer), | ||
("user", 4000023): ("user", 4000024, upgrade.upgradeInstanceContainer), | ||
("intent", 4000023): ("intent", 4000024, 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} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"name": "Version Upgrade 5.8 to 5.9", | ||
"author": "UltiMaker", | ||
"version": "1.0.0", | ||
"description": "Upgrades configurations from Cura 5.8 to Cura 5.9.", | ||
"api": 8, | ||
"i18n-catalog": "cura" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.