From 77f7d59c53f2b13707d844884e12722e4c3072b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 2 Jul 2015 15:21:05 +0200 Subject: [PATCH] Fix: Don't automatically persist or return _config_version Should only ever be read or written by the plugin system itself, not by on_settings_save or on_settings_load --- src/octoprint/plugin/types.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/octoprint/plugin/types.py b/src/octoprint/plugin/types.py index ad74364c..bf702cb6 100644 --- a/src/octoprint/plugin/types.py +++ b/src/octoprint/plugin/types.py @@ -781,7 +781,10 @@ class SettingsPlugin(OctoPrintPlugin): :return: the current settings of the plugin, as a dictionary """ - return self._settings.get([], asdict=True, merged=True) + data = self._settings.get([], asdict=True, merged=True) + if "_config_version" in data: + del data["_config_version"] + return data def on_settings_save(self, data): """ @@ -803,9 +806,12 @@ class SettingsPlugin(OctoPrintPlugin): """ import octoprint.util + if "_config_version" in data: + del data["_config_version"] + current = self._settings.get([], asdict=True, merged=True) - data = octoprint.util.dict_merge(current, data) - self._settings.set([], data) + merged = octoprint.util.dict_merge(current, data) + self._settings.set([], merged) def get_settings_defaults(self): """