From 8c1c474f305becc2c05c07812fa64157e98bc21f Mon Sep 17 00:00:00 2001 From: shnavid Date: Thu, 29 Mar 2007 16:37:02 +0000 Subject: 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 --- src/lib/sos/plugintools.py | 6 ++++++ src/sosreport | 3 +++ 2 files changed, 9 insertions(+) (limited to 'src') 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) -- cgit