summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/unmerge.py
diff options
context:
space:
mode:
authorBoris Minev <borisminev@abv.bg>2012-04-03 10:56:48 -0700
committerZac Medico <zmedico@gentoo.org>2012-04-03 10:56:48 -0700
commit784c94ac3520a1fe0659be53fab07becaad6274b (patch)
treedf8ea909aaed757146cac03cde5b7a9e3881f6d8 /pym/_emerge/unmerge.py
parentc521bc87db7daf70a6c00272c6c7440059135b58 (diff)
downloadportage-784c94ac3520a1fe0659be53fab07becaad6274b.tar.gz
portage-784c94ac3520a1fe0659be53fab07becaad6274b.tar.bz2
portage-784c94ac3520a1fe0659be53fab07becaad6274b.zip
unmerge: display progress counter, bug #386901
Diffstat (limited to 'pym/_emerge/unmerge.py')
-rw-r--r--pym/_emerge/unmerge.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/pym/_emerge/unmerge.py b/pym/_emerge/unmerge.py
index 0acdf998c..89eae0864 100644
--- a/pym/_emerge/unmerge.py
+++ b/pym/_emerge/unmerge.py
@@ -542,10 +542,23 @@ def unmerge(root_config, myopts, unmerge_action,
if clean_delay and not autoclean:
countdown(int(settings["CLEAN_DELAY"]), ">>> Unmerging")
+ all_selected = set()
+ all_selected.update(*[x["selected"] for x in pkgmap])
+
+ # Set counter variables
+ curval = 1
+ maxval = len(all_selected)
+
for x in range(len(pkgmap)):
for y in pkgmap[x]["selected"]:
- writemsg_level(">>> Unmerging "+y+"...\n", noiselevel=-1)
emergelog(xterm_titles, "=== Unmerging... ("+y+")")
+ message = ">>> Unmerging ({0} of {1}) {2}...\n".format(
+ colorize("MERGE_LIST_PROGRESS", str(curval)),
+ colorize("MERGE_LIST_PROGRESS", str(maxval)),
+ y)
+ writemsg_level(message, noiselevel=-1)
+ curval += 1
+
mysplit = y.split("/")
#unmerge...
retval = portage.unmerge(mysplit[0], mysplit[1],