I have 4 branches which might be worth putting in for 3.2.18, everyone may or maynot have looked at them before and they aren't "obviously simple/wonderful" enough I've just committed them, so I'll just list them and you can tell me what you think...
_quickWhatProvides * group_pc repo-sacks repomd-checksums group_pc Output percentages of installed groups in grouplist -v, this is a UI tweak for groups ... is kinda useful to quickly see what you do/don't have installed. Also nudges people away from the assumption that groups are "installed" or not as a group.
commit 728d31b917467b0fe1695c8961e02f660ebf7fcd
Author: James Antill <[EMAIL PROTECTED]>
Date: Sat Apr 19 22:37:11 2008 -0400
Add percentage used stats. to grouplist -v
diff --git a/cli.py b/cli.py
index 4d84b74..f34e1da 100644
--- a/cli.py
+++ b/cli.py
@@ -797,6 +797,15 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
def returnGroupLists(self, userlist):
+ def _gpc(pkg_names):
+ if not pkg_names:
+ return ""
+ inst = 0
+ for pkg_name in pkg_names:
+ if self.rpmdb.contains(name=pkg_name):
+ inst += 1
+ return "%3d%%" % ((inst * 100) / len(pkg_names))
+
uservisible=1
if len(userlist) > 0:
@@ -806,19 +815,56 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
installed, available = self.doGroupLists(uservisible=uservisible)
mylang = yum.misc.get_my_lang_code()
+ maxlen = 0
+ if self.verbose_logger.isEnabledFor(yum.logginglevels.DEBUG_3):
+ for group in installed + available:
+ nlen = len(group.nameByLang(mylang))
+ if nlen > maxlen:
+ maxlen = nlen
+
if len(installed) > 0:
self.verbose_logger.log(yum.logginglevels.INFO_2,
_('Installed Groups:'))
+ if maxlen:
+ self.verbose_logger.log(yum.logginglevels.INFO_2,
+ _(" %-*s %4s %4s %4s %4s"), maxlen, _('Group name'),
+ _('Core'), _('Def'), _('Opt'), _('Cond'))
+
for group in sorted(installed, key=lambda x: x.nameByLang(mylang)):
- self.verbose_logger.log(yum.logginglevels.INFO_2, ' %s',
- group.nameByLang(mylang))
+ if not
self.verbose_logger.isEnabledFor(yum.logginglevels.DEBUG_3):
+ self.verbose_logger.log(yum.logginglevels.INFO_2, ' %s',
+ group.nameByLang(mylang))
+ else:
+ # In verbose mode output stats on installed PC
+ self.verbose_logger.log(yum.logginglevels.INFO_2,
+ _(' %-*s: %4s %4s %4s %4s'),
+ maxlen, group.nameByLang(mylang),
+ _gpc(group.mandatory_packages),
+ _gpc(group.default_packages),
+ _gpc(group.optional_packages),
+ _gpc(group.conditional_packages))
if len(available) > 0:
self.verbose_logger.log(yum.logginglevels.INFO_2,
_('Available Groups:'))
+ if maxlen:
+ self.verbose_logger.log(yum.logginglevels.INFO_2,
+ _(" %-*s %4s %4s %4s %4s"), maxlen, _('Group name'),
+ _('Core'), _('Def'), _('Opt'), _('Cond'))
+
for group in sorted(available, key=lambda x: x.nameByLang(mylang)):
- self.verbose_logger.log(yum.logginglevels.INFO_2, ' %s',
- group.nameByLang(mylang))
+ if not
self.verbose_logger.isEnabledFor(yum.logginglevels.DEBUG_3):
+ self.verbose_logger.log(yum.logginglevels.INFO_2, ' %s',
+ group.nameByLang(mylang))
+ else:
+ # In verbose mode output stats on installed PC
+ self.verbose_logger.log(yum.logginglevels.INFO_2,
+ _(' %-*s: %4s %4s %4s %4s'),
+ maxlen, group.nameByLang(mylang),
+ _gpc(group.mandatory_packages),
+ _gpc(group.default_packages),
+ _gpc(group.optional_packages),
+ _gpc(group.conditional_packages))
return 0, [_('Done')]
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Yum-devel mailing list [email protected] https://lists.dulug.duke.edu/mailman/listinfo/yum-devel
