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

James Antill james at osuosl.org
Tue Jun 21 14:28:26 UTC 2011


 cli.py          |   26 +++++++++++++-------------
 output.py       |   42 ++++++++++++++++++++++++++----------------
 yum/__init__.py |   39 +++++++++++++++++++++++++++++++++++----
 3 files changed, 74 insertions(+), 33 deletions(-)

New commits:
commit 48bcf80e495d4266c896b16ef4fb8fa18b71bb01
Author: Nick Jacek <njacek at redhat.com>
Date:   Mon Jun 20 16:54:50 2011 -0400

    Uses ngettext to pluralise messages produced in __init__.py. BZ 552317

diff --git a/yum/__init__.py b/yum/__init__.py
index bfb94f0..28b875c 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -2262,7 +2262,7 @@ class YumBase(depsolve.Depsolve):
                 self.verbose_logger.log(logginglevels.DEBUG_4,
                     _('%s file %s removed'), filetype, item)
                 removed+=1
-        msg = _('%d %s files removed') % (removed, filetype)
+        msg = P_('%d %s file removed', '%d %s files removed', removed) % (removed, filetype)
         return 0, [msg]
 
     def doPackageLists(self, pkgnarrow='all', patterns=None, showdups=None,
@@ -2720,7 +2720,7 @@ class YumBase(depsolve.Depsolve):
                 usedDepString = False
                 where = self.pkgSack.searchAll(arg, False)
             self.verbose_logger.log(logginglevels.DEBUG_1,
-                _('Searching %d packages'), len(where))
+               P_('Searching %d package', 'Searching %d packages', len(where)), len(where))
             
             for po in sorted(where):
                 self.verbose_logger.log(logginglevels.DEBUG_2,
commit 9a136400325778d718fb9acce891c6e5535c75e6
Author: Nick Jacek <njacek at redhat.com>
Date:   Mon Jun 20 16:54:49 2011 -0400

    Uses ngettext to pluralise messages produced by several functions in cli.py. BZ 552317

diff --git a/cli.py b/cli.py
index 5c3b9c3..82f286f 100644
--- a/cli.py
+++ b/cli.py
@@ -38,7 +38,7 @@ import yum.logginglevels
 import yum.misc
 import yum.plugins
 from rpmUtils.arch import isMultiLibArch
-from yum import _
+from yum import _, P_
 from yum.rpmtrans import RPMTransaction
 import signal
 import yumcommands
@@ -395,7 +395,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         if disk:
             summary += _('Disk Requirements:\n')
             for k in disk:
-                summary += _('  At least %dMB more space needed on the %s filesystem.\n') % (disk[k], k)
+                summary += P_('  At least %dMB more space needed on the %s filesystem.\n', '  At least %dMB more space needed on the %s filesystem.\n', disk[k]) % (disk[k], k)
 
         # TODO: simplify the dependency errors?
 
@@ -722,7 +722,8 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             else:
                 done = True
         if len(self.tsInfo) > oldcount:
-            return 2, [_('Package(s) to install')]
+            change = len(self.tsInfo) - oldcount
+            return 2, [P_('%d package to install', '%d packages to install', change) % change]
 
         if not done:
             return 1, [_('Nothing to do')]
@@ -760,8 +761,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
 
         if len(self.tsInfo) > oldcount:
             change = len(self.tsInfo) - oldcount
-            msg = _('%d packages marked for Update') % change
-            return 2, [msg]
+            return 2, [P_('%d package marked for Update', '%d packages marked for Update', change) % change]
         else:
             return 0, [_('No Packages marked for Update')]
 
@@ -859,8 +859,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 dupdates.extend(self.downgrade(name=n, epoch=e, ver=v, rel=r))
 
         if dupdates:
-            msg = _('%d packages marked for Distribution Synchronization') % len(dupdates)
-            return 2, [msg]
+            return 2, [P_('%d package marked for Distribution Synchronization', '%d packages marked for Distribution Synchronization', len(dupdates)) % len(dupdates)]
         else:
             return 0, [_('No Packages marked for Distribution Synchronization')]
 
@@ -878,8 +877,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
             all_rms.extend(rms)
         
         if all_rms:
-            msg = _('%d packages marked for removal') % len(all_rms)
-            return 2, [msg]
+            return 2, [P_('%d package marked for removal', '%d packages marked for removal', len(all_rms)) % len(all_rms)]
         else:
             return 0, [_('No Packages marked for removal')]
     
@@ -906,7 +904,8 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                                         self.term.MODE['normal'])
                 self._maybeYouMeant(arg)
         if len(self.tsInfo) > oldcount:
-            return 2, [_('Package(s) to downgrade')]
+            change = len(self.tsInfo) - oldcount
+            return 2, [P_('%d package to downgrade', '%d packages to downgrade', change) % change]
         return 0, [_('Nothing to do')]
         
     def reinstallPkgs(self, userlist):
@@ -940,7 +939,8 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
                 assert False, "Shouldn't happen, but just in case"
                 self.verbose_logger.log(yum.logginglevels.INFO_2, e)
         if len(self.tsInfo) > oldcount:
-            return 2, [_('Package(s) to reinstall')]
+            change = len(self.tsInfo) - oldcount
+            return 2, [P_('%d package to reinstall', '%d packages to reinstall', change) % change]
         return 0, [_('Nothing to do')]
 
     def localInstall(self, filelist, updateonly=0):
@@ -1363,7 +1363,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         if not pkgs_used:
             return 0, [_('No packages in any requested group available to install or update')]
         else:
-            return 2, [_('%d Package(s) to Install') % len(pkgs_used)]
+            return 2, [P_('%d package to Install', '%d packages to Install', len(pkgs_used)) % len(pkgs_used)]
 
     def removeGroups(self, grouplist):
         """Remove only packages of the named group(s). Do not recurse."""
@@ -1381,7 +1381,7 @@ class YumBaseCli(yum.YumBase, output.YumOutput):
         if not pkgs_used:
             return 0, [_('No packages to remove from groups')]
         else:
-            return 2, [_('%d Package(s) to remove') % len(pkgs_used)]
+            return 2, [P_('%d package to remove', '%d packages to remove', len(pkgs_used)) % len(pkgs_used)]
 
 
 
commit 3b181e363a995190b697a3f595641a442ab39548
Author: Nick Jacek <njacek at redhat.com>
Date:   Mon Jun 20 16:54:48 2011 -0400

    Changes the Transaction Summary so that the plurals are printed using ngettext. BZ 552317

diff --git a/output.py b/output.py
index 3840f82..b8f757e 100755
--- a/output.py
+++ b/output.py
@@ -38,7 +38,7 @@ import yum.misc
 from rpmUtils.miscutils import checkSignals, formatRequire
 from yum.constants import *
 
-from yum import logginglevels, _
+from yum import logginglevels, _, P_
 from yum.rpmtrans import RPMBaseCallback
 from yum.packageSack import packagesNewestByNameArch
 import yum.packages
@@ -1109,25 +1109,35 @@ Transaction Summary
         num_re = len(self.tsInfo.reinstalled)
         num_dg = len(self.tsInfo.downgraded)
         if num_in:
-            out.append(_("""\
-Install   %5.5s Package(s)
-""") % num_in)
+            out.append(P_("""\
+Install   %5.5s Package
+""", """\
+Install   %5.5s Packages
+""", num_in) % num_in)
         if num_up:
-            out.append(_("""\
-Upgrade   %5.5s Package(s)
-""") % num_up)
+            out.append(P_("""\
+Upgrade   %5.5s Package
+""", """\
+Upgrade   %5.5s Packages
+""", num_up) % num_up)
         if num_rm:
-            out.append(_("""\
-Remove    %5.5s Package(s)
-""") % num_rm)
+            out.append(P_("""\
+Remove    %5.5s Package
+""", """\
+Remove    %5.5s Packages
+""", num_rm) % num_rm)
         if num_re:
-            out.append(_("""\
-Reinstall %5.5s Package(s)
-""") % num_re)
+            out.append(P_("""\
+Reinstall %5.5s Package
+""", """\
+Reinstall %5.5s Packages
+""", num_re) % num_re)
         if num_dg:
-            out.append(_("""\
-Downgrade %5.5s Package(s)
-""") % num_dg)
+            out.append(P_("""\
+Downgrade %5.5s Package
+""", """\
+Downgrade %5.5s Packages
+""", num_dg) % num_dg)
         
         return ''.join(out)
         
commit be3f47980206b418bc752950dbc4c8a09d5889b6
Author: James Antill <james at and.org>
Date:   Mon Jun 20 15:27:45 2011 -0400

    Add message to history redo/undo for when nothing is done.

diff --git a/yum/__init__.py b/yum/__init__.py
index 8fa957f..bfb94f0 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -3837,7 +3837,8 @@ class YumBase(depsolve.Depsolve):
                 if len(availpkgs) > 1:
                     availpkgs = self._compare_providers(availpkgs, requiringPo)
                     availpkgs = map(lambda x: x[0], availpkgs)
-
+                elif not availpkgs:
+                    self.logger.warning(_("No package matched to upgrade: %s"), self._ui_nevra_dict(nevra_dict))
        
         # for any thing specified
         # get the list of available pkgs matching it (or take the po)
@@ -4027,7 +4028,7 @@ class YumBase(depsolve.Depsolve):
                 self._add_not_found_i(pkgs, nevra_dict)
                 if len(pkgs) == 0:
                     if not kwargs.get('silence_warnings', False):
-                        self.logger.warning(_("No package matched to remove"))
+                        self.logger.warning(_("No package matched to remove: %s"), self._ui_nevra_dict(nevra_dict))
 
         ts = self.rpmdb.readOnlyTS()
         kern_pkgtup = misc.get_running_kernel_pkgtup(ts)
@@ -4439,6 +4440,32 @@ class YumBase(depsolve.Depsolve):
             tx_return.extend(txmbrs)
 
         return tx_return
+
+    @staticmethod
+    def _ui_nevra_dict(nevra_dict):
+        n = nevra_dict['name']
+        e = nevra_dict['epoch']
+        v = nevra_dict['version']
+        r = nevra_dict['release']
+        a = nevra_dict['arch']
+
+        if e and v and r:
+            evr = '%s:%s-%s' % (e, v, r)
+        elif v and r:
+            evr = '%s-%s' % (e, v, r)
+        elif e and v:
+            evr = '%s:%s' % (e, v)
+        elif v: # e and r etc. is just too weird to print
+            evr = v
+        else:
+            evr = ''
+        if n and evr:
+            return '%s-%s' % (n, evr)
+        if evr:
+            return '*-%s' % evr
+        if n:
+            return n
+        return '<unknown>'
         
     def _nevra_kwarg_parse(self, kwargs):
             
@@ -4492,6 +4519,8 @@ class YumBase(depsolve.Depsolve):
             if pkg.state == 'Update':
                 if self.update(pkgtup=pkg.pkgtup):
                     done = True
+                else:
+                    self.logger.critical(_('Failed to upgrade: %s'), pkg)
         for pkg in transaction.trans_data:
             if pkg.state in ('Install', 'True-Install', 'Obsoleting'):
                 if self.install(pkgtup=pkg.pkgtup):
@@ -4529,6 +4558,8 @@ class YumBase(depsolve.Depsolve):
             if pkg.state == 'Downgraded':
                 if self.update(pkgtup=pkg.pkgtup):
                     done = True
+                else:
+                    self.logger.critical(_('Failed to upgrade: %s'), pkg)
         for pkg in transaction.trans_data:
             if pkg.state == 'Obsoleting':
                 #  Note that obsoleting can mean anything, so if this is part of


More information about the Yum-commits mailing list