aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshnavid <shnavid@ef72aa8b-4018-0410-8976-d6e080ef94d8>2007-03-29 16:37:02 +0000
committershnavid <shnavid@ef72aa8b-4018-0410-8976-d6e080ef94d8>2007-03-29 16:37:02 +0000
commit8c1c474f305becc2c05c07812fa64157e98bc21f (patch)
treeeb0a5a9e9346210cbb442348d5c48aee6a738e80
parent545dac8a633f9ef973c07b25a0e2a3f5cc9baf5b (diff)
downloadsos-8c1c474f305becc2c05c07812fa64157e98bc21f.tar.gz
Added a checkenabled() function which can be used to disable a plugin at run-time.
Planning to add a command-line option to force the execution of plugins. git-svn-id: svn+ssh://svn.fedorahosted.org/svn/sos/trunk@105 ef72aa8b-4018-0410-8976-d6e080ef94d8
-rw-r--r--src/lib/sos/plugintools.py6
-rwxr-xr-xsrc/sosreport3
2 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/sos/plugintools.py b/src/lib/sos/plugintools.py
index 3e7e9881..b5741e27 100644
--- a/src/lib/sos/plugintools.py
+++ b/src/lib/sos/plugintools.py
@@ -380,6 +380,12 @@ class PluginBase:
raise KeyboardInterrupt
except:
self.cInfo['soslog'].error("Error collecting output of '%s'" % prog,)
+
+ def checkenabled(self):
+ """ This function can be overidden to let the plugin decide whether
+ it should run or not.
+ """
+ return True
def collect(self):
""" This function has been replaced with setup(). Please change your
diff --git a/src/sosreport b/src/sosreport
index 894537b8..3adbbb8e 100755
--- a/src/sosreport
+++ b/src/sosreport
@@ -303,6 +303,9 @@ def sosreport():
else:
soslog.warning("Plugin %s does not validate, skipping" % plug)
continue
+ if pluginClass(plugbase, commons).checkenabled:
+ soslog.debug("Plugin %s auto-disabled itself." % plug)
+ continue
loadedplugins.append((plugbase, pluginClass(plugbase, commons)))
except:
soslog.warning("Plugin %s does not install, skipping" % plug)