[yum-commits] Branch 'yum-3_2_X' - 3 commits - output.py yum/packages.py

James Antill james at osuosl.org
Wed Nov 18 21:20:29 UTC 2009


 output.py       |   24 +++++-------------------
 yum/packages.py |   27 ++++++++++++++++++++++++++-
 2 files changed, 31 insertions(+), 20 deletions(-)

New commits:
commit 59eca26d846801002a9aa97e7887e8a319aececd
Author: James Antill <james at and.org>
Date:   Wed Nov 18 15:18:44 2009 -0500

    Cleanup code using ui_nevra and ui_from_repo

diff --git a/output.py b/output.py
index b0fe943..4a94bc4 100755
--- a/output.py
+++ b/output.py
@@ -473,9 +473,7 @@ class YumOutput:
         ver = pkg.printVer()
         na = '%s%s.%s' % (indent, pkg.name, pkg.arch)
         hi_cols = [highlight, 'normal', 'normal']
-        rid = pkg.repoid
-        if pkg.repoid == 'installed' and 'from_repo' in pkg.yumdb_info:
-            rid = '@' + pkg.yumdb_info.from_repo
+        rid = pkg.ui_from_repo
         columns = zip((na, ver, rid), columns, hi_cols)
         print self.fmtColumns(columns)
 
@@ -488,9 +486,7 @@ class YumOutput:
             columns = (-63, -16) # Old default
         envra = '%s%s' % (indent, str(pkg))
         hi_cols = [highlight, 'normal', 'normal']
-        rid = pkg.repoid
-        if pkg.repoid == 'installed' and 'from_repo' in pkg.yumdb_info:
-            rid = '@' + pkg.yumdb_info.from_repo
+        rid = pkg.ui_from_repo
         columns = zip((envra, rid), columns, hi_cols)
         print self.fmtColumns(columns)
 
@@ -688,10 +684,7 @@ class YumOutput:
             for (apkg, ipkg) in pkg_names2pkgs[item]:
                 pkg = ipkg or apkg
                 envra = utf8_width(str(pkg)) + utf8_width(indent)
-                if pkg.repoid == 'installed' and 'from_repo' in pkg.yumdb_info:
-                    rid = len(pkg.yumdb_info.from_repo) + 1
-                else:
-                    rid   = len(pkg.repoid)
+                rid = len(pkg.ui_from_repo)
                 for (d, v) in (('envra', envra), ('rid', rid)):
                     data[d].setdefault(v, 0)
                     data[d][v] += 1
@@ -912,10 +905,7 @@ class YumOutput:
         def _add_line(lines, data, a_wid, po, obsoletes=[]):
             (n,a,e,v,r) = po.pkgtup
             evr = po.printVer()
-            if po.repoid == 'installed' and 'from_repo' in po.yumdb_info:
-                repoid = "@%s" % po.yumdb_info.from_repo
-            else:
-                repoid = po.repoid
+            repoid = po.ui_from_repo
             pkgsize = float(po.size)
             size = self.format_number(pkgsize)
 
@@ -1452,11 +1442,7 @@ to exit.
 
             # To chop the name off we need nevra strings, str(pkg) gives envra
             # so we have to do it by hand ... *sigh*.
-            if hpkg.epoch == '0':
-                cn = str(hpkg)
-            else:
-                cn = "%s-%s:%s-%s.%s" % (hpkg.name, hpkg.epoch,
-                                         hpkg.version, hpkg.release, hpkg.arch)
+            cn = hpkg.ui_nevra
 
             uistate = {'True-Install' : _('Install'),
                        'Install'      : _('Install'),
commit afceec9b932028ddd70826fe404240e6a3a88082
Author: James Antill <james at and.org>
Date:   Wed Nov 18 15:15:07 2009 -0500

    Add ui_from_repo to POs

diff --git a/yum/packages.py b/yum/packages.py
index 2fa8ea1..fad6640 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -605,6 +605,12 @@ class YumAvailablePackage(PackageObject, RpmBase):
             self.rel = self.release
         self.pkgtup = (self.name, self.arch, self.epoch, self.version, self.release)
 
+    def _ui_from_repo(self):
+        if self.repoid == 'installed' and 'from_repo' in self.yumdb_info:
+            return '@' + self.yumdb_info.from_repo
+        return self.repoid
+    ui_from_repo = property(fget=lambda self: self._ui_from_repo())
+
     def exclude(self):
         """remove self from package sack"""
         self.repo.sack.delPackage(self)
commit 5ff88722869f429b3c1ba8b109b13380720f21ff
Author: James Antill <james at and.org>
Date:   Wed Nov 18 15:10:08 2009 -0500

    Add ui_nevra and ui_envra to POs

diff --git a/yum/packages.py b/yum/packages.py
index e6d2167..2fa8ea1 100644
--- a/yum/packages.py
+++ b/yum/packages.py
@@ -224,7 +224,7 @@ class PackageObject(object):
         # self.pkgtup = (self.name, self.arch, self.epoch, self.version, self.release)
         self._checksums = [] # (type, checksum, id(0,1)
         
-    def __str__(self):
+    def _ui_envra(self):
         if self.epoch == '0':
             out = '%s-%s-%s.%s' % (self.name, 
                                    self.version,
@@ -237,6 +237,25 @@ class PackageObject(object):
                                       self.release, 
                                       self.arch)
         return out
+    ui_envra = property(fget=lambda self: self._ui_envra())
+
+    def _ui_nevra(self):
+        if self.epoch == '0':
+            out = '%s-%s-%s.%s' % (self.name,
+                                   self.version,
+                                   self.release,
+                                   self.arch)
+        else:
+            out = '%s-%s:%s-%s.%s' % (self.name,
+                                      self.epoch,
+                                      self.version,
+                                      self.release,
+                                      self.arch)
+        return out
+    ui_nevra = property(fget=lambda self: self._ui_nevra())
+
+    def __str__(self):
+        return self.ui_envra
 
     def verCMP(self, other):
         """ Compare package to another one, only rpm-version ordering. """


More information about the Yum-commits mailing list