summaryrefslogtreecommitdiffstats
path: root/openstack
diff options
context:
space:
mode:
Diffstat (limited to 'openstack')
-rw-r--r--openstack/common/cfg.py36
1 files changed, 13 insertions, 23 deletions
diff --git a/openstack/common/cfg.py b/openstack/common/cfg.py
index 5a10b2d..bbef49b 100644
--- a/openstack/common/cfg.py
+++ b/openstack/common/cfg.py
@@ -812,7 +812,7 @@ class OptGroup(object):
if _is_opt_registered(self._opts, opt):
return False
- self._opts[opt.dest] = {'opt': opt, 'override': None, 'default': None}
+ self._opts[opt.dest] = {'opt': opt}
return True
@@ -1090,7 +1090,7 @@ class ConfigOpts(collections.Mapping):
if _is_opt_registered(self._opts, opt):
return False
- self._opts[opt.dest] = {'opt': opt, 'override': None, 'default': None}
+ self._opts[opt.dest] = {'opt': opt}
return True
@@ -1178,9 +1178,6 @@ class ConfigOpts(collections.Mapping):
__import__(module_str)
self._get_opt_info(name, group)
- class _NoneValue(object):
- pass
-
@__clear_cache
def set_override(self, name, override, group=None):
"""Override an opt value.
@@ -1193,8 +1190,6 @@ class ConfigOpts(collections.Mapping):
:param group: an option OptGroup object or group name
:raises: NoSuchOptError, NoSuchGroupError
"""
- if override is None:
- override = self._NoneValue()
opt_info = self._get_opt_info(name, group)
opt_info['override'] = override
@@ -1210,8 +1205,6 @@ class ConfigOpts(collections.Mapping):
:param group: an option OptGroup object or group name
:raises: NoSuchOptError, NoSuchGroupError
"""
- if default is None:
- default = self._NoneValue()
opt_info = self._get_opt_info(name, group)
opt_info['default'] = default
@@ -1227,7 +1220,7 @@ class ConfigOpts(collections.Mapping):
:raises: NoSuchOptError, NoSuchGroupError
"""
opt_info = self._get_opt_info(name, group)
- opt_info['override'] = None
+ opt_info.pop('override', None)
@__clear_cache
def clear_default(self, name, group=None):
@@ -1240,7 +1233,7 @@ class ConfigOpts(collections.Mapping):
:raises: NoSuchOptError, NoSuchGroupError
"""
opt_info = self._get_opt_info(name, group)
- opt_info['default'] = None
+ opt_info.pop('default', None)
def _all_opt_infos(self):
"""A generator function for iteration opt infos."""
@@ -1258,8 +1251,8 @@ class ConfigOpts(collections.Mapping):
def _unset_defaults_and_overrides(self):
"""Unset any default or override on all options."""
for info, group in self._all_opt_infos():
- info['default'] = None
- info['override'] = None
+ info.pop('default', None)
+ info.pop('override', None)
def disable_interspersed_args(self):
"""Set parsing to stop on the first non-option.
@@ -1382,13 +1375,10 @@ class ConfigOpts(collections.Mapping):
return self.GroupAttr(self, self._get_group(name))
info = self._get_opt_info(name, group)
- default, opt, override = [info[k] for k in sorted(info.keys())]
-
- def _convert_none(value):
- return None if isinstance(value, self._NoneValue) else value
+ opt = info['opt']
- if override is not None:
- return _convert_none(override)
+ if 'override' in info:
+ return info['override']
values = []
if self._cparser is not None:
@@ -1416,8 +1406,8 @@ class ConfigOpts(collections.Mapping):
if values:
return values
- if default is not None:
- return _convert_none(default)
+ if 'default' in info:
+ return info['default']
return opt.default
@@ -1511,10 +1501,10 @@ class ConfigOpts(collections.Mapping):
:raises: RequiredOptError
"""
for info, group in self._all_opt_infos():
- default, opt, override = [info[k] for k in sorted(info.keys())]
+ opt = info['opt']
if opt.required:
- if (default is not None or override is not None):
+ if ('default' in info or 'override' in info):
continue
if self._get(opt.name, group) is None: