From 9f4a74cca065b89f841371d7a8c94b4f0d22b628 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Fri, 19 Jun 2015 11:08:11 +0200 Subject: [PATCH] Fix: setting defaults supplied to set/get from plugins are no longer overwritten --- src/octoprint/plugin/__init__.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/octoprint/plugin/__init__.py b/src/octoprint/plugin/__init__.py index 6477da92..dc5700cc 100644 --- a/src/octoprint/plugin/__init__.py +++ b/src/octoprint/plugin/__init__.py @@ -309,11 +309,17 @@ class PluginSettings(object): return result def add_getter_kwargs(kwargs): - kwargs.update(defaults=self.defaults, preprocessors=self.get_preprocessors) + if not "defaults" in kwargs: + kwargs.update(defaults=self.defaults) + if not "preprocessors" in kwargs: + kwargs.update(preprocessors=self.get_preprocessors) return kwargs def add_setter_kwargs(kwargs): - kwargs.update(defaults=self.defaults, preprocessors=self.set_preprocessors) + if not "defaults" in kwargs: + kwargs.update(defaults=self.defaults) + if not "preprocessors" in kwargs: + kwargs.update(preprocessors=self.set_preprocessors) return kwargs self.access_methods = dict(