diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-07-07 20:16:34 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-07-07 20:16:34 +0000 |
commit | a5750d58391777da23c7d8dd5553ed9b5ca425b7 (patch) | |
tree | f7bf3fb2bd2e7881f1573500d9b046ff1a610204 | |
parent | 5d68935e0f5a7b8bfb32f52fc08eeb461ba42cc3 (diff) | |
parent | 970f2281869128086373c428536d1c633d178c6f (diff) | |
download | oslo-config-a5750d58391777da23c7d8dd5553ed9b5ca425b7.tar.gz |
Merge "generator: remove the default sanitizer feature"
-rw-r--r-- | oslo/config/generator.py | 51 | ||||
-rw-r--r-- | tests/test_generator.py | 28 |
2 files changed, 2 insertions, 77 deletions
diff --git a/oslo/config/generator.py b/oslo/config/generator.py index 5e8e9ef..57c70bd 100644 --- a/oslo/config/generator.py +++ b/oslo/config/generator.py @@ -101,29 +101,6 @@ facilitate this, options can be supplied with a 'sample_default' attribute:: cfg.StrOpt('base_dir' default=os.getcwd(), sample_default='/usr/lib/myapp') - -Alternatively, applications can supply their own 'sanitizer' function via -the 'oslo.config.sanitizer' entry point namespace. For example:: - - def sanitize_default(self, opt, default_str): - if opt.dest == 'base_dir' and default_str == os.getcwd(): - return '.' - else: - return default_str - -the callable is registered as a entry point:: - - [entry_points] - oslo.config.opts = - myapp = myapp.opts:list_opts - - oslo.config.sanitizer - myapp = myapp.opts:sanitize_default - -before being passed via the --sanitizer command line option: - - $> oslo-config-generator --namespace myapp \ - --sanitizer myapp > myapp.conf """ import logging @@ -145,11 +122,6 @@ _generator_opts = [ cfg.MultiStrOpt('namespace', help='Option namespace under "oslo.config.opts" in which ' 'to query for options.'), - cfg.StrOpt('sanitizer', - help='An entry point name under "oslo.config.sanitizer" for a ' - 'sanitize_default(opt, default_str) callable which will ' - 'sanitize the stringified default value of an option ' - 'before outputting it.'), ] @@ -179,15 +151,13 @@ class _OptFormatter(object): cfg.MultiStrOpt: 'multi valued', } - def __init__(self, output_file=None, sanitize_default=None, wrap_width=70): + def __init__(self, output_file=None, wrap_width=70): """Construct an OptFormatter object. :param output_file: a writeable file object - :param sanitize_default: a sanitize_default(opt, default_str) callable :param wrap_width: The maximum length of help lines, 0 to not wrap """ self.output_file = output_file or sys.stdout - self.sanitize_default = sanitize_default or (lambda o, d: d) self.wrap_width = wrap_width def format(self, opt): @@ -244,7 +214,6 @@ class _OptFormatter(object): defaults = [default_str] for default_str in defaults: - default_str = self.sanitize_default(opt, default_str) if default_str.strip() != default_str: default_str = '"%s"' % default_str lines.append('#%s = %s\n' % (opt.dest, default_str)) @@ -266,21 +235,6 @@ class _OptFormatter(object): self.output_file.writelines(l) -def _get_sanitizer(name): - """Look up a sanitizer entry point name. - - Look up the supplied name under the 'oslo.config.sanitizer' entry point - namespace and return the callable found there. - - :param name: the entry point name, or None - :returns: the callable found, or None - """ - if name is None: - return None - return stevedore.driver.DriverManager('oslo.config.sanitizer', - name=name).driver - - def _list_opts(namespaces): """List the options available via the given namespaces. @@ -306,10 +260,7 @@ def generate(conf): output_file = (open(conf.output_file, 'w') if conf.output_file else sys.stdout) - sanitizer = _get_sanitizer(conf.sanitizer) - formatter = _OptFormatter(output_file=output_file, - sanitize_default=sanitizer, wrap_width=conf.wrap_width) groups = {'DEFAULT': []} diff --git a/tests/test_generator.py b/tests/test_generator.py index a126933..aa274e0 100644 --- a/tests/test_generator.py +++ b/tests/test_generator.py @@ -431,18 +431,6 @@ class GeneratorTestCase(base.BaseTestCase): #multi_opt = 5 #multi_opt = 6 ''')), - ('sanitizer', - dict(opts=[('test', [(None, [opts['str_opt']])])], - sanitizer=lambda o, s: s.replace(' ', 'ish'), - expected='''[DEFAULT] - -# -# From test -# - -# a string (string value) -#str_opt = fooishbar -''')), ] output_file_scenarios = [ @@ -477,9 +465,8 @@ class GeneratorTestCase(base.BaseTestCase): return self._capture_stream('stdout') @mock.patch('stevedore.named.NamedExtensionManager') - @mock.patch('stevedore.driver.DriverManager') @mock.patch.object(generator, 'LOG') - def test_generate(self, mock_log, driver_mgr, named_mgr): + def test_generate(self, mock_log, named_mgr): generator.register_cli_opts(self.conf) namespaces = [i[0] for i in self.opts] @@ -502,12 +489,6 @@ class GeneratorTestCase(base.BaseTestCase): mock_eps.append(mock_ep) named_mgr.return_value = mock_eps - sanitizer = getattr(self, 'sanitizer', None) - if sanitizer is not None: - self.config(sanitizer='test_sanitizer') - driver = mock.Mock(driver=sanitizer) - driver_mgr.return_value = driver - generator.generate(self.conf) if self.stdout: @@ -520,13 +501,6 @@ class GeneratorTestCase(base.BaseTestCase): names=namespaces, invoke_on_load=True) - if sanitizer is not None: - driver_mgr.assert_called_once_with('oslo.config.sanitizer', - name='test_sanitizer') - pass - else: - self.assertFalse(driver_mgr.called) - log_warning = getattr(self, 'log_warning', None) if log_warning is not None: mock_log.warning.assert_called_once_with(*log_warning) |