[yum-cvs] yum/yum plugins.py,1.39,1.40 __init__.py,1.328,1.329

Tim Lauridsen timlau at linux.duke.edu
Tue Jun 5 07:53:00 UTC 2007


Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv12912/yum

Modified Files:
	plugins.py __init__.py 
Log Message:
added a '--disableplugin=pluginname' option to temporary disable one or more plugins


Index: plugins.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/plugins.py,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- plugins.py	26 Apr 2007 04:00:24 -0000	1.39
+++ plugins.py	5 Jun 2007 07:52:58 -0000	1.40
@@ -106,7 +106,7 @@
     '''
 
     def __init__(self, base, searchpath, optparser=None, types=None, 
-            pluginconfpath=None):
+            pluginconfpath=None,disabled=None):
         '''Initialise the instance.
 
         @param base: The
@@ -128,6 +128,7 @@
         self.optparser = optparser
         self.cmdline = (None, None)
         self.verbose_logger = logging.getLogger("yum.verbose.YumPlugins")
+        self.disabledPlugins = disabled
         if not types:
             types = ALL_TYPES
 
@@ -227,6 +228,10 @@
 
             if plugintype not in types:
                 return
+        # Check if this plugin has been temporary disabled
+        if self.disabledPlugins:
+            if modname in self.disabledPlugins:
+                return
 
         self.verbose_logger.log(logginglevels.INFO_2, 'Loading "%s" plugin', modname)
 

Index: __init__.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/__init__.py,v
retrieving revision 1.328
retrieving revision 1.329
diff -u -r1.328 -r1.329
--- __init__.py	29 May 2007 15:52:33 -0000	1.328
+++ __init__.py	5 Jun 2007 07:52:58 -0000	1.329
@@ -110,7 +110,7 @@
         
     def _getConfig(self, fn='/etc/yum/yum.conf', root='/', init_plugins=True,
             plugin_types=(plugins.TYPE_CORE,), optparser=None, debuglevel=None,
-            errorlevel=None):
+            errorlevel=None,disabled_plugins=None):
         '''
         Parse and load Yum's configuration files and call hooks initialise
         plugins and logging.
@@ -126,6 +126,7 @@
             level will be read from the configuration file.
         @param errorlevel: Error level to use for logging. If None, the debug
             level will be read from the configuration file.
+        @param disabled_plugins: Plugins to be disabled    
         '''
 
         if self._conf:
@@ -148,7 +149,7 @@
 
         if init_plugins and startupconf.plugins:
             self.doPluginSetup(optparser, plugin_types, startupconf.pluginpath,
-                    startupconf.pluginconfpath)
+                    startupconf.pluginconfpath,disabled_plugins)
 
         self._conf = config.readMainConfig(startupconf)
         # run the postconfig plugin hook
@@ -258,7 +259,7 @@
         self.plugins = plugins.DummyYumPlugins()
     
     def doPluginSetup(self, optparser=None, plugin_types=None, searchpath=None,
-            confpath=None):
+            confpath=None,disabled_plugins=None):
         '''Initialise and enable yum plugins. 
 
         Note: _getConfig() will initialise plugins if instructed to. Only
@@ -275,12 +276,13 @@
         @param confpath: A list of directories to look in for plugin
             configuration files. A default will be used if no value is
             specified.
+        @param disabled_plugins: Plugins to be disabled    
         '''
         if isinstance(plugins, plugins.YumPlugins):
             raise RuntimeError("plugins already initialised")
 
         self.plugins = plugins.YumPlugins(self, searchpath, optparser,
-                plugin_types, confpath)
+                plugin_types, confpath, disabled_plugins)
 
     
     def doRpmDBSetup(self):




More information about the Yum-cvs-commits mailing list