Skip to content
Snippets Groups Projects
Commit 4a3f1d362e5f authored by Pierre-Yves David's avatar Pierre-Yves David :octopus:
Browse files

config: explicitly track the use of the standard default value

We introduce a small object used to detect that no specific default value has
been passed to 'ui.config'. We need this explicit special value since "None" is
a valid and common default value.

The end goal here is to make progress on a centralised and explicit declaration
of the available config option. A first good usecase for this are "default"
value.  Before starting looking further down this alley we needs to rework the
handling of default value in the 'ui' object to have all configxyz methods going
through the same logic. This is the first changeset on this trek.
parent 067173e3c8a6
No related branches found
No related tags found
No related merge requests found
......@@ -154,6 +154,10 @@
def _catchterm(*args):
raise error.SignalInterrupt
# unique object used to detect no default value has been provided when
# retrieving configuration value.
_unset = object()
class ui(object):
def __init__(self, src=None):
"""Create a fresh new ui object if no src given
......@@ -432,7 +436,9 @@
def configsource(self, section, name, untrusted=False):
return self._data(untrusted).source(section, name)
def config(self, section, name, default=None, untrusted=False):
def config(self, section, name, default=_unset, untrusted=False):
if default is _unset:
default = None
if isinstance(name, list):
alternates = name
else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment