Bug #209768 - Fix --search "Size of files:" handling so that it properly
authorZac Medico <zmedico@gentoo.org>
Tue, 12 Feb 2008 04:08:33 +0000 (04:08 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 12 Feb 2008 04:08:33 +0000 (04:08 -0000)
shows the "Unknown (missing digest)" message instead of a traceback.

svn path=/main/trunk/; revision=9333

pym/_emerge/__init__.py

index 462410c3be9a9f174229902f984af0de886917a4..e5e48fe487d431408b3d87d54d4e73606af6e10e 100644 (file)
@@ -650,6 +650,7 @@ class search(object):
                                        myversion = self.getVersion(full_package, search.VERSION_RELEASE)
 
                                        mysum = [0,0]
+                                       file_size_str = None
                                        mycat = match.split("/")[0]
                                        mypkg = match.split("/")[1]
                                        mycpv = match + "-" + myversion
@@ -664,7 +665,7 @@ class search(object):
                                                try:
                                                        mysum[0] = mf.getDistfilesSize(fetchlist)
                                                except KeyError, e:
-                                                       mysum[0] = "Unknown (missing digest for %s)" % \
+                                                       file_size_str = "Unknown (missing digest for %s)" % \
                                                                str(e)
 
                                        available = False
@@ -680,13 +681,13 @@ class search(object):
                                                                        myebuild = None
                                                        break
 
-                                       if myebuild:
+                                       if myebuild and file_size_str is None:
                                                mystr = str(mysum[0] / 1024)
                                                mycount = len(mystr)
                                                while (mycount > 3):
                                                        mycount -= 3
                                                        mystr = mystr[:mycount] + "," + mystr[mycount:]
-                                               mysum[0] = mystr + " kB"
+                                               file_size_str = mystr + " kB"
 
                                        if self.verbose:
                                                if available:
@@ -694,7 +695,7 @@ class search(object):
                                                print "     ", self.getInstallationStatus(mycat+'/'+mypkg)
                                                if myebuild:
                                                        print "      %s %s" % \
-                                                               (darkgreen("Size of files:"), mysum[0])
+                                                               (darkgreen("Size of files:"), file_size_str)
                                                print "     ", darkgreen("Homepage:")+"     ",homepage
                                                print "     ", darkgreen("Description:")+"  ",desc
                                                print "     ", darkgreen("License:")+"      ",license