diff --git a/openflexure_microscope/config.py b/openflexure_microscope/config.py index 062e66b0..c5d6edad 100644 --- a/openflexure_microscope/config.py +++ b/openflexure_microscope/config.py @@ -60,7 +60,7 @@ def json_map(data, clean_keys=True): """ # Do not overwrite original data dictionary - d = copy.copy(data) + d = copy.deepcopy(data) # If we're cleaning up unsuitable keys if clean_keys: diff --git a/openflexure_microscope/microscope.py b/openflexure_microscope/microscope.py index f18d68dd..5f01a51b 100644 --- a/openflexure_microscope/microscope.py +++ b/openflexure_microscope/microscope.py @@ -231,14 +231,14 @@ class Microscope(object): return self.rc.read(json_safe=json_safe) - def save_config(self): + def save_config(self, backup: bool = True): """ Saves the current runtime-config back to disk """ # Get any changed device settings - self.read_config() + self.read_config(json_safe=False) # Save to disk - self.rc.save() + self.rc.save(backup=backup) @property def config(self) -> dict: