From c9f54765883836386c008584f65c9250644be208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 31 Mar 2015 18:20:44 +0200 Subject: [PATCH] Settings now allow providing a custom "config" dict to work on Can be used to always retrieve the defaults (by providing an empty config dict) or to utilize the get method with other settings than the system settings. --- src/octoprint/settings.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index 4ba776a4..5d3d5793 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -757,13 +757,14 @@ class Settings(object): #~~ getter - def get(self, path, asdict=False, defaults=None, preprocessors=None, merged=False): + def get(self, path, asdict=False, config=None, defaults=None, preprocessors=None, merged=False): import octoprint.util as util if len(path) == 0: return None - config = self._config + if config is None: + config = self._config if defaults is None: defaults = default_settings if preprocessors is None: @@ -820,7 +821,7 @@ class Settings(object): else: return results - def getInt(self, path, defaults=None, preprocessors=None): + def getInt(self, path, config=None, defaults=None, preprocessors=None): value = self.get(path, defaults=defaults, preprocessors=preprocessors) if value is None: return None @@ -831,8 +832,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, defaults=None, preprocessors=None): - value = self.get(path, defaults=defaults, preprocessors=preprocessors) + def getFloat(self, path, config=None, defaults=None, preprocessors=None): + value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors) if value is None: return None @@ -842,8 +843,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, defaults=None, preprocessors=None): - value = self.get(path, defaults=defaults, preprocessors=preprocessors) + def getBoolean(self, path, config=None, defaults=None, preprocessors=None): + value = self.get(path, config=config, defaults=defaults, preprocessors=preprocessors) if value is None: return None if isinstance(value, bool):