Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Prado Gesto <d.pradogesto@ultimaker.com>2018-03-14 15:53:04 +0300
committerDiego Prado Gesto <d.pradogesto@ultimaker.com>2018-03-14 15:53:04 +0300
commit1111fbaa78113071e13b477373af1ad0ca22454a (patch)
tree510dd97911df58682a869184ac2a22a59d5f8105 /plugins/VersionUpgrade/VersionUpgrade32to33
parent23a2b6e0f7ef86454904e67590b10725c6bf5d4b (diff)
CURA-4870 Changing the version upgrade to include new metadata entries
for the container stacks.
Diffstat (limited to 'plugins/VersionUpgrade/VersionUpgrade32to33')
-rw-r--r--plugins/VersionUpgrade/VersionUpgrade32to33/VersionUpgrade32to33.py24
-rw-r--r--plugins/VersionUpgrade/VersionUpgrade32to33/__init__.py11
2 files changed, 35 insertions, 0 deletions
diff --git a/plugins/VersionUpgrade/VersionUpgrade32to33/VersionUpgrade32to33.py b/plugins/VersionUpgrade/VersionUpgrade32to33/VersionUpgrade32to33.py
index de2240a7c6..620f367e25 100644
--- a/plugins/VersionUpgrade/VersionUpgrade32to33/VersionUpgrade32to33.py
+++ b/plugins/VersionUpgrade/VersionUpgrade32to33/VersionUpgrade32to33.py
@@ -56,6 +56,8 @@ _EXTRUDER_TO_POSITION = {
## Upgrades configurations from the state they were in at version 3.2 to the
# state they should be in at version 3.3.
class VersionUpgrade32to33(VersionUpgrade):
+
+ temporary_group_name_counter = 1
## Gets the version number from a CFG file in Uranium's 3.2 format.
#
# Since the format may change, this is implemented for the 3.2 format only
@@ -74,6 +76,28 @@ class VersionUpgrade32to33(VersionUpgrade):
setting_version = int(parser.get("metadata", "setting_version", fallback = 0))
return format_version * 1000000 + setting_version
+ ## Upgrades a container stack from version 3.2 to 3.3.
+ #
+ # \param serialised The serialised form of a container stack.
+ # \param filename The name of the file to upgrade.
+ def upgradeStack(self, serialized, filename):
+ parser = configparser.ConfigParser(interpolation = None)
+ parser.read_string(serialized)
+
+ if "metadata" in parser and "um_network_key" in parser["metadata"]:
+ if "hidden" not in parser["metadata"]:
+ parser["metadata"]["hidden"] = "False"
+ if "connect_group_name" not in parser["metadata"]:
+ parser["metadata"]["connect_group_name"] = "Temporary group name #" + str(self.temporary_group_name_counter)
+ self.temporary_group_name_counter += 1
+
+ #Update version number.
+ parser["general"]["version"] = "4"
+
+ result = io.StringIO()
+ parser.write(result)
+ return [filename], [result.getvalue()]
+
## Upgrades non-quality-changes instance containers to have the new version
# number.
def upgradeInstanceContainer(self, serialized, filename):
diff --git a/plugins/VersionUpgrade/VersionUpgrade32to33/__init__.py b/plugins/VersionUpgrade/VersionUpgrade32to33/__init__.py
index c411b4190e..72ff6e1de9 100644
--- a/plugins/VersionUpgrade/VersionUpgrade32to33/__init__.py
+++ b/plugins/VersionUpgrade/VersionUpgrade32to33/__init__.py
@@ -9,11 +9,22 @@ def getMetaData():
return {
"version_upgrade": {
# From To Upgrade function
+ ("machine_stack", 3000004): ("machine_stack", 4000004, upgrade.upgradeStack),
+ ("extruder_train", 3000004): ("extruder_train", 4000004, upgrade.upgradeStack),
+
("definition_changes", 2000004): ("definition_changes", 3000004, upgrade.upgradeInstanceContainer),
("quality_changes", 2000004): ("quality_changes", 3000004, upgrade.upgradeQualityChanges),
("user", 2000004): ("user", 3000004, upgrade.upgradeInstanceContainer)
},
"sources": {
+ "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"}