[yum-commits] Branch 'yum-3_2_X' - 3 commits - cli.py utils.py yum/__init__.py

James Antill james at osuosl.org
Tue Nov 11 14:58:07 UTC 2008


 cli.py          |    6 +++++-
 utils.py        |   10 +++++++++-
 yum/__init__.py |    9 +++++++--
 3 files changed, 21 insertions(+), 4 deletions(-)

New commits:
commit e59d9491bb4ccdd5e5f4cdd8de24e858a342a2d6
Merge: 674dfc2... af4feb6...
Author: James Antill <james at and.org>
Date:   Tue Nov 11 09:57:59 2008 -0500

    Merge branch 'yum-3_2_X' of ssh://yum.baseurl.org/srv/projects/yum/git/yum into yum-3_2_X
    
    * 'yum-3_2_X' of ssh://yum.baseurl.org/srv/projects/yum/git/yum:
      make skip-broken handle a case where foo.x86_64 is skipped, and the foo.i386 is pulled in instead (rhbz #470291)
      handle obsoleted txmbr without obsoleting txmbr in skip-broken
      add tsInfo debug messages to output in broken tests

commit 674dfc28da754fe3cbc470067fe496e3240cbca8
Author: James Antill <james at and.org>
Date:   Tue Nov 11 09:57:49 2008 -0500

    Obey enable/disable plugins for yumdownloader etc. ... fixes bug 470936

diff --git a/utils.py b/utils.py
index d92f533..cea9110 100644
--- a/utils.py
+++ b/utils.py
@@ -61,12 +61,20 @@ class YumUtilBase(YumBaseCli):
         root = self._parser.getRoot(opts)
         # Read up configuration options and initialise plugins
         try:
+            disabled_plugins = None
+            if hasattr(opts, "disableplugins"):
+                disabled_plugins = self._parser._splitArg(opts.disableplugins)
+            enabled_plugins  = None
+            if hasattr(opts, "enableplugins"):
+                enabled_plugins = self._parser._splitArg(opts.enableplugins)
             self._getConfig(opts.conffile, root, 
                     init_plugins=not opts.noplugins,
                     plugin_types= pluginsTypes,
                     optparser=self._parser,
                     debuglevel=opts.debuglevel,
-                    errorlevel=opts.errorlevel)
+                    errorlevel=opts.errorlevel,
+                    disabled_plugins=disabled_plugins,
+                    enabled_plugins=enabled_plugins)
         except yum.Errors.ConfigError, e:
             self.logger.critical(_('Config Error: %s'), e)
             sys.exit(1)
commit 268784438956545d34332b71a47d63b21da008c0
Author: James Antill <james at and.org>
Date:   Mon Nov 10 11:44:13 2008 -0500

    Allow arguments to grouplist to only show a subset of groups

diff --git a/cli.py b/cli.py
index ff4c7d6..91088d4 100644
--- a/cli.py
+++ b/cli.py
@@ -843,8 +843,12 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         if len(userlist) > 0:
             if userlist[0] == 'hidden':
                 uservisible=0
+                userlist.pop(0)
+        if not userlist:
+            userlist = None # Match everything...
 
-        installed, available = self.doGroupLists(uservisible=uservisible)
+        installed, available = self.doGroupLists(uservisible=uservisible,
+                                                 patterns=userlist)
         
         if len(installed) > 0:
             self.verbose_logger.log(yum.logginglevels.INFO_2,
diff --git a/yum/__init__.py b/yum/__init__.py
index 316d11e..ddfbf82 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -1870,7 +1870,7 @@ class YumBase(depsolve.Depsolve):
             
         return matches
 
-    def doGroupLists(self, uservisible=0):
+    def doGroupLists(self, uservisible=0, patterns=None, ignore_case=True):
         """returns two lists of groups, installed groups and available groups
            optional 'uservisible' bool to tell it whether or not to return
            only groups marked as uservisible"""
@@ -1882,7 +1882,12 @@ class YumBase(depsolve.Depsolve):
         if self.comps.compscount == 0:
             raise Errors.GroupsError, _('No group data available for configured repositories')
         
-        for grp in self.comps.groups:
+        if patterns is None:
+            grps = self.comps.groups
+        else:
+            grps = self.comps.return_groups(",".join(patterns),
+                                            case_sensitive=not ignore_case)
+        for grp in grps:
             if grp.installed:
                 if uservisible:
                     if grp.user_visible:


More information about the Yum-commits mailing list