From e1d7a9faece7ccd357ba506633aed272e03241aa Mon Sep 17 00:00:00 2001 From: Simon Edwards Date: Tue, 6 Dec 2016 17:03:35 +0100 Subject: [PATCH] Properly support the extrauder trains. CURA-2953 Version upgrade 2.3 to 2.4 --- cura/CuraApplication.py | 1 + .../VersionUpgrade22to24/VersionUpgrade.py | 9 +++++++++ .../VersionUpgrade/VersionUpgrade22to24/__init__.py | 11 ++++++++--- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 6ed7759c34..4753955337 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -129,6 +129,7 @@ class CuraApplication(QtApplication): { ("quality", UM.Settings.InstanceContainer.Version): (self.ResourceTypes.QualityInstanceContainer, "application/x-uranium-instancecontainer"), ("machine_stack", UM.Settings.ContainerStack.Version): (self.ResourceTypes.MachineStack, "application/x-uranium-containerstack"), + ("extruder_train", UM.Settings.ContainerStack.Version): (self.ResourceTypes.ExtruderStack, "application/x-uranium-extruderstack"), ("preferences", UM.Preferences.Version): (Resources.Preferences, "application/x-uranium-preferences"), ("user", UM.Settings.InstanceContainer.Version): (self.ResourceTypes.UserInstanceContainer, "application/x-uranium-instancecontainer") } diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py index 8c42ec489f..64c98dea60 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py @@ -92,6 +92,15 @@ class VersionUpgrade22to24(VersionUpgrade): result.append( { "path": entry.path, "name": config.get("general", "name") } ) return result + def upgradeExtruderTrain(self, serialised, filename): + config = configparser.ConfigParser(interpolation = None) + config.read_string(serialised) # Read the input string as config file. + config.set("general", "version", "3") # Just bump the version number. That is all we need for now. + + output = io.StringIO() + config.write(output) + return [filename], [output.getvalue()] + def getCfgVersion(self, serialised): parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py index 1a562abbd5..85d53199e4 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py @@ -19,13 +19,18 @@ def getMetaData(): }, "version_upgrade": { # From To Upgrade function - ("machine_instance", 2): ("machine_stack", 3, upgrade.upgradeMachineInstance) + ("machine_instance", 2): ("machine_stack", 3, upgrade.upgradeMachineInstance), + ("extruder_train", 2): ("extruder_train", 3, upgrade.upgradeExtruderTrain) }, "sources": { - "machine_instance": { + "machine_stack": { "get_version": upgrade.getCfgVersion, "location": {"./machine_instances"} - } + }, + "extruder_train": { + "get_version": upgrade.getCfgVersion, + "location": {"./extruders"} + }, } }