summaryrefslogtreecommitdiffstats
path: root/pym/getbinpkg.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-08-22 04:24:39 +0000
committerZac Medico <zmedico@gentoo.org>2007-08-22 04:24:39 +0000
commiteb26910a984fb18d1370359916668dec00180e23 (patch)
treefb570f22fcd0f327263a66a2f7480631decab2cf /pym/getbinpkg.py
parent16ddb80971f1c798b5f2dd06fbc13d53ff7d4980 (diff)
downloadportage-eb26910a984fb18d1370359916668dec00180e23.tar.gz
portage-eb26910a984fb18d1370359916668dec00180e23.tar.bz2
portage-eb26910a984fb18d1370359916668dec00180e23.zip
Show cache miss/hit counts all on one line, using \r to return to the beginning of he line and rewrite it each time that a counter is updated. Thanks to Mike "Fuzzy" Partin <fuzzy@smoke.dope.org> for this patch (submitted on the gentoo-portage-dev mailing list). (trunk r7655)
svn path=/main/branches/2.1.2/; revision=7657
Diffstat (limited to 'pym/getbinpkg.py')
-rw-r--r--pym/getbinpkg.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/pym/getbinpkg.py b/pym/getbinpkg.py
index 9484d1d16..793602304 100644
--- a/pym/getbinpkg.py
+++ b/pym/getbinpkg.py
@@ -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: