[Yum-devel] [PATCH] Split "Language groups" out from normal groups, using langonly attribute.

James Antill james at and.org
Fri Nov 12 17:49:32 UTC 2010


---
 cli.py    |   56 +++++++++++++++++++++++++++++++++-----------------------
 output.py |    2 ++
 2 files changed, 35 insertions(+), 23 deletions(-)

diff --git a/cli.py b/cli.py
index 0c5d8ed..36d1f03 100644
--- a/cli.py
+++ b/cli.py
@@ -1171,29 +1171,39 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         installed, available = self.doGroupLists(uservisible=uservisible,
                                                  patterns=userlist)
         
-        if len(installed) > 0:
-            self.verbose_logger.log(yum.logginglevels.INFO_2,
-                _('Installed Groups:'))
-            for group in installed:
-                if self.verbose_logger.isEnabledFor(yum.logginglevels.DEBUG_3):
-                    self.verbose_logger.log(yum.logginglevels.INFO_2,
-                                            '   %s (%s)', group.ui_name,
-                                            group.groupid)
-                else:
-                    self.verbose_logger.log(yum.logginglevels.INFO_2,
-                                            '   %s', group.ui_name)
-        
-        if len(available) > 0:
-            self.verbose_logger.log(yum.logginglevels.INFO_2,
-                _('Available Groups:'))
-            for group in available:
-                if self.verbose_logger.isEnabledFor(yum.logginglevels.DEBUG_3):
-                    self.verbose_logger.log(yum.logginglevels.INFO_2,
-                                            '   %s (%s)', group.ui_name,
-                                            group.groupid)
-                else:
-                    self.verbose_logger.log(yum.logginglevels.INFO_2,
-                                            '   %s', group.ui_name)
+        def _out_grp(sect, group):
+            if not done:
+                self.verbose_logger.log(yum.logginglevels.INFO_2, sect)
+            msg = '   %s' % group.ui_name
+            if self.verbose_logger.isEnabledFor(yum.logginglevels.DEBUG_3):
+                msg += ' (%s)' % group.groupid
+            if group.langonly:
+                msg += ' [%s]' % group.langonly
+            self.verbose_logger.log(yum.logginglevels.INFO_2, '%s', msg)
+
+        done = False
+        for group in installed:
+            if group.langonly: continue
+            _out_grp(_('Installed Groups:'), group)
+            done = True
+
+        done = False
+        for group in installed:
+            if not group.langonly: continue
+            _out_grp(_('Installed Language Groups:'), group)
+            done = True
+
+        done = False
+        for group in available:
+            if group.langonly: continue
+            _out_grp(_('Available Groups:'), group)
+            done = True
+
+        done = False
+        for group in available:
+            if not group.langonly: continue
+            _out_grp(_('Available Language Groups:'), group)
+            done = True
 
         return 0, [_('Done')]
     
diff --git a/output.py b/output.py
index 983924a..f99ab37 100755
--- a/output.py
+++ b/output.py
@@ -784,6 +784,8 @@ class YumOutput:
             pkg_names2pkgs = self._group_names2aipkgs(group.packages)
         if group.ui_description:
             print _(' Description: %s') % to_unicode(group.ui_description)
+        if group.langonly:
+            print _(' Language: %s') % group.langonly
 
         sections = ((_(' Mandatory Packages:'),   group.mandatory_packages),
                     (_(' Default Packages:'),     group.default_packages),
-- 
1.7.2.3



More information about the Yum-devel mailing list