From 4bdea50fd595e935c5fd5835579a3a5df5fa683e Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 9 Apr 2020 21:26:35 +0200 Subject: [PATCH] Use deepcopies rather than copies to copy parsers Turns out that the parsers apparently refer to a lot of subobjects which are crucial here, and they don't implement the normal copy well. Deepcopy it is then. --- .../VersionUpgrade46to47/VersionUpgrade46to47.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade46to47/VersionUpgrade46to47.py b/plugins/VersionUpgrade/VersionUpgrade46to47/VersionUpgrade46to47.py index b7b1ee3a16..de834202f9 100644 --- a/plugins/VersionUpgrade/VersionUpgrade46to47/VersionUpgrade46to47.py +++ b/plugins/VersionUpgrade/VersionUpgrade46to47/VersionUpgrade46to47.py @@ -77,8 +77,8 @@ class VersionUpgrade46to47(VersionUpgrade): if parser["general"]["definition"] == "deltacomb_extruder_0": parser["general"]["definition"] = "deltacomb_base_extruder_0" elif parser["general"]["definition"] == "deltacomb_extruder_1": # Split up the second Deltacomb extruder into 3, creating an extra two extruders. - third_extruder_changes = copy.copy(parser) - fourth_extruder_changes = copy.copy(parser) + third_extruder_changes = copy.deepcopy(parser) + fourth_extruder_changes = copy.deepcopy(parser) parser["general"]["definition"] = "deltacomb_base_extruder_1" third_extruder_changes["general"]["definition"] = "deltacomb_base_extruder_2" @@ -167,7 +167,7 @@ class VersionUpgrade46to47(VersionUpgrade): else: parser["containers"]["7"] = "deltacomb_base_extruder_0" # Copy this extruder to extruder 3 and 4. - extruder3 = copy.copy(parser) + extruder3 = copy.deepcopy(parser) extruder3["metadata"]["position"] = "2" extruder3["containers"]["0"] += "_e2_upgrade" extruder3["containers"]["1"] += "_e2_upgrade" @@ -175,7 +175,7 @@ class VersionUpgrade46to47(VersionUpgrade): extruder3["containers"]["7"] = "deltacomb_base_extuder_2" result_parsers.append(extruder3) result_filenames.append(filename[:-len(".extruder.cfg")] + "_e2_upgrade.extruder.cfg") - extruder4 = copy.copy(parser) + extruder4 = copy.deepcopy(parser) extruder4["metadata"]["position"] = "3" extruder4["containers"]["0"] += "_e3_upgrade" extruder4["containers"]["1"] += "_e3_upgrade"