diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-08-13 14:39:54 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-08-13 14:39:54 +0000 |
| commit | 0af29237965822830ac8fc2cdd96e36a09dde213 (patch) | |
| tree | 3f097879f46d5badff9a57cb4b21ebefea78c161 | |
| parent | 815c8f35b5fe75f013a99156118023d82598e003 (diff) | |
| parent | 4dc2043df6e64adb902081d2ff7cb72ef4d20de5 (diff) | |
| download | oslo-0af29237965822830ac8fc2cdd96e36a09dde213.tar.gz oslo-0af29237965822830ac8fc2cdd96e36a09dde213.tar.xz oslo-0af29237965822830ac8fc2cdd96e36a09dde213.zip | |
Merge "cfg: clean up None value handling"
| -rw-r--r-- | openstack/common/cfg.py | 36 |
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: |
