Allow ignoring of settings defaults when retrieving values
This commit is contained in:
parent
a6c1084b14
commit
7c74aa4c4d
1 changed files with 9 additions and 9 deletions
|
|
@ -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):
|
||||
|
|
|
|||
Loading…
Reference in a new issue