diff options
author | Bryn M. Reeves <bmr@redhat.com> | 2018-12-12 15:41:42 +0000 |
---|---|---|
committer | Bryn M. Reeves <bmr@redhat.com> | 2018-12-12 15:49:28 +0000 |
commit | 9db825247452d54152f1c866b6b90f897be32f15 (patch) | |
tree | ba3e0e9e41f1d1697d0fe96a8e816d76fed84dc4 | |
parent | 4c377f04f571c2d265a564bb27961bac5fd4a854 (diff) | |
download | sos-9db825247452d54152f1c866b6b90f897be32f15.tar.gz |
[Plugin] clean up Plugin.get_option()
There's a lot of ancient junk in this method (and associated code
strewn around sos.sosreport and tests). Remove the ability to pass
a list of options to the method since nothing uses this, and also
delete the incomplete implementation of global plugin options via
the commons dictionary (this work was already completed some time
ago by mapping these options directly to the command line args).
Resolves: #1498
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
-rw-r--r-- | sos/plugins/__init__.py | 13 | ||||
-rw-r--r-- | sos/sosreport.py | 5 | ||||
-rw-r--r-- | tests/option_tests.py | 16 |
3 files changed, 5 insertions, 29 deletions
diff --git a/sos/plugins/__init__.py b/sos/plugins/__init__.py index 3abe29db..c87ae19b 100644 --- a/sos/plugins/__init__.py +++ b/sos/plugins/__init__.py @@ -531,23 +531,12 @@ class Plugin(object): if optionname in global_options: return getattr(self.commons['cmdlineopts'], optionname) - def _check(key): - if hasattr(optionname, "__iter__"): - return key in optionname - else: - return key == optionname - for name, parms in zip(self.opt_names, self.opt_parms): - if _check(name): + if name == optionname: val = parms['enabled'] if val is not None: return val - items = six.iteritems(self.commons.get('global_plugin_options', {})) - for key, value in items: - if _check(key): - return value - return default def get_option_as_list(self, optionname, delimiter=",", default=None): diff --git a/sos/sosreport.py b/sos/sosreport.py index 77ae7161..97bee10c 100644 --- a/sos/sosreport.py +++ b/sos/sosreport.py @@ -336,7 +336,6 @@ class SoSReport(object): self.skipped_plugins = [] self.all_options = [] self.xml_report = XmlReport() - self.global_plugin_options = {} self.archive = None self.tempfile_util = None self._args = args @@ -432,7 +431,6 @@ class SoSReport(object): 'xmlreport': self.xml_report, 'cmdlineopts': self.opts, 'config': self.config, - 'global_plugin_options': self.global_plugin_options, } def get_temp_file(self): @@ -1426,9 +1424,6 @@ class SoSReport(object): return False return True - def set_global_plugin_option(self, key, value): - self.global_plugin_options[key] = value - def _cleanup(self): # archive and tempfile cleanup may fail due to a fatal # OSError exception (ENOSPC, EROFS etc.). diff --git a/tests/option_tests.py b/tests/option_tests.py index a4267e2e..a99be4b0 100644 --- a/tests/option_tests.py +++ b/tests/option_tests.py @@ -12,27 +12,19 @@ class GlobalOptionTest(unittest.TestCase): self.commons = { 'sysroot': '/', 'policy': LinuxPolicy(), - 'global_plugin_options': { - 'test_option': 'foobar', - 'baz': None, - 'empty_global': True - }, } self.plugin = Plugin(self.commons) - self.plugin.opt_names = ['baz', 'empty'] - self.plugin.opt_parms = [{'enabled': False}, {'enabled': None}] + self.plugin.opt_names = ['baz', 'empty', 'test_option'] + self.plugin.opt_parms = [ + {'enabled': False}, {'enabled': None}, {'enabled': 'foobar'} + ] def test_simple_lookup(self): self.assertEquals(self.plugin.get_option('test_option'), 'foobar') - def test_multi_lookup(self): - self.assertEquals(self.plugin.get_option(('not_there', 'test_option')), 'foobar') - def test_cascade(self): self.assertEquals(self.plugin.get_option(('baz')), False) - def test_none_should_cascade(self): - self.assertEquals(self.plugin.get_option(('empty', 'empty_global')), True) if __name__ == "__main__": unittest.main() |