Show cache miss/hit counts all on one line, using \r to return to the beginning of...
authorZac Medico <zmedico@gentoo.org>
Wed, 22 Aug 2007 04:24:39 +0000 (04:24 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 22 Aug 2007 04:24:39 +0000 (04:24 -0000)
svn path=/main/branches/2.1.2/; revision=7657

pym/getbinpkg.py

index 9484d1d16d0a98cd73e1d148c04d7554c4b4eec9..79360230412b6d6bf03004c3b80dda73fcc6ba48 100644 (file)
@@ -544,13 +544,17 @@ def dir_get_metadata(baseurl, conn=None, chunk_size=3000, verbose=1, usingcache=
                                sys.stderr.write("!!! "+str(e)+"\n")
                        break
        # We may have metadata... now we run through the tbz2 list and check.
-       sys.stderr.write(yellow("cache miss: 'x'")+" --- "+green("cache hit: 'o'")+"\n")
+       ext_miss = 0
+       ext_hit = 0
+       sys.stderr.write(yellow("cache miss: '"+str(ext_miss)+"'")+" --- "+green("cache hit: '"+str(ext_hit)+"'"))
        binpkg_filenames = set()
        for x in tbz2list:
                x = os.path.basename(x)
                binpkg_filenames.add(x)
                if x not in metadata[baseurl]["data"]:
-                       sys.stderr.write(yellow("x"))
+                       ext_miss += 1
+                       sys.stderr.write("\r"+yellow("cache miss: '"+str(ext_miss)+"'")+" --- "+green("cache hit: '"+str(ext_hit)+"'"))
+                       sys.stderr.flush()
                        metadata[baseurl]["modified"] = 1
                        myid = None
                        for retry in xrange(3):
@@ -572,7 +576,9 @@ def dir_get_metadata(baseurl, conn=None, chunk_size=3000, verbose=1, usingcache=
                        elif verbose:
                                sys.stderr.write(red("!!! Failed to retrieve metadata on: ")+str(x)+"\n")
                else:
-                       sys.stderr.write(green("o"))
+                       ext_hit += 1
+                       sys.stderr.write("\r"+yellow("cache miss: '"+str(ext_miss)+"'")+" --- "+green("cache hit: '"+str(ext_hit)+"'"))
+                       sys.stderr.flush()
        # Cleanse stale cache for files that don't exist on the server anymore.
        stale_cache = set(metadata[baseurl]["data"]).difference(binpkg_filenames)
        if stale_cache: