From 7c74aa4c4d0646742e79fe644c130369cc3d5783 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Fri, 19 Jun 2015 22:25:42 +0200 Subject: [PATCH] Allow ignoring of settings defaults when retrieving values --- src/octoprint/settings.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index eab68cf6..f4b2cf09 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -789,7 +789,7 @@ class Settings(object): #~~ getter - def get(self, path, asdict=False, config=None, defaults=None, preprocessors=None, merged=False): + def get(self, path, asdict=False, config=None, defaults=None, preprocessors=None, merged=False, incl_defaults=True): import octoprint.util as util if len(path) == 0: @@ -807,7 +807,7 @@ class Settings(object): if key in config and key in defaults: config = config[key] defaults = defaults[key] - elif key in defaults: + elif incl_defaults and key in defaults: config = {} defaults = defaults[key] else: @@ -832,7 +832,7 @@ class Settings(object): value = config[key] if merged and key in defaults: value = util.dict_merge(defaults[key], value) - elif key in defaults: + elif incl_defaults and key in defaults: value = defaults[key] else: value = None @@ -853,8 +853,8 @@ class Settings(object): else: return results - def getInt(self, path, config=None, defaults=None, preprocessors=None): - value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors) + def getInt(self, path, config=None, defaults=None, preprocessors=None, incl_defaults=True): + value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors, incl_defaults=incl_defaults) if value is None: return None @@ -864,8 +864,8 @@ class Settings(object): self._logger.warn("Could not convert %r to a valid integer when getting option %r" % (value, path)) return None - def getFloat(self, path, config=None, defaults=None, preprocessors=None): - value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors) + def getFloat(self, path, config=None, defaults=None, preprocessors=None, incl_defaults=True): + value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors, incl_defaults=incl_defaults) if value is None: return None @@ -875,8 +875,8 @@ class Settings(object): self._logger.warn("Could not convert %r to a valid integer when getting option %r" % (value, path)) return None - def getBoolean(self, path, config=None, defaults=None, preprocessors=None): - value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors) + def getBoolean(self, path, config=None, defaults=None, preprocessors=None, incl_defaults=True): + value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors, incl_defaults=incl_defaults) if value is None: return None if isinstance(value, bool):