Просмотр исходного кода

Also upgrade definition_changes and user

Because these files share their version numbers with quality changes.

Contributes to issue CURA-5054.
Ghostkeeper 7 лет назад
Родитель
Сommit
cf21e7c74b

+ 13 - 0
plugins/VersionUpgrade/VersionUpgrade32to33/VersionUpgrade32to33.py

@@ -74,6 +74,19 @@ class VersionUpgrade32to33(VersionUpgrade):
         setting_version = int(parser.get("metadata", "setting_version", fallback = 0))
         return format_version * 1000000 + setting_version
 
+    ##  Upgrades non-quality-changes instance containers to have the new version
+    #   number.
+    def upgradeInstanceContainer(self, serialized, filename):
+        parser = configparser.ConfigParser(interpolation = None)
+        parser.read_string(serialized)
+
+        #Update version number.
+        parser["general"]["version"] = "3"
+
+        result = io.StringIO()
+        parser.write(result)
+        return [filename], [result.getvalue()]
+
     ##  Upgrades a quality changes container to the new format.
     def upgradeQualityChanges(self, serialized, filename):
         parser = configparser.ConfigParser(interpolation = None)

+ 11 - 1
plugins/VersionUpgrade/VersionUpgrade32to33/__init__.py

@@ -9,12 +9,22 @@ def getMetaData():
     return {
         "version_upgrade": {
             # From                        To                   Upgrade function
-            ("quality_changes", 2000004): ("quality_changes", 3000004, upgrade.upgradeQualityChanges),
+            ("definition_changes", 2000004): ("definition_changes", 3000004, upgrade.upgradeInstanceContainer),
+            ("quality_changes", 2000004):    ("quality_changes", 3000004, upgrade.upgradeQualityChanges),
+            ("user", 2000004):               ("user", 3000004, upgrade.upgradeInstanceContainer)
         },
         "sources": {
+            "definition_changes": {
+                "get_version": upgrade.getCfgVersion,
+                "location": {"./definition_changes"}
+            },
             "quality_changes": {
                 "get_version": upgrade.getCfgVersion,
                 "location": {"./quality"}
+            },
+            "user": {
+                "get_version": upgrade.getCfgVersion,
+                "location": {"./user"}
             }
         }
     }