* unified progress
* do not show progress info while removing package in cli
This commit is contained in:
@@ -423,10 +423,9 @@ class Remove(AtomicOperation):
|
|||||||
for fileinfo in self.files.list:
|
for fileinfo in self.files.list:
|
||||||
self.remove_file(fileinfo)
|
self.remove_file(fileinfo)
|
||||||
removed += 1
|
removed += 1
|
||||||
ctx.ui.notify(pisi.ui.progressed,
|
ctx.ui.display_progress(operation = "removing",
|
||||||
operation = "removing",
|
percent = progress.update(removed),
|
||||||
percent = progress.update(removed),
|
info = _("Removing package %s") % self.package_name)
|
||||||
info = _("Removing package %s") % self.package_name)
|
|
||||||
|
|
||||||
txn = ctx.dbenv.txn_begin()
|
txn = ctx.dbenv.txn_begin()
|
||||||
try:
|
try:
|
||||||
|
|||||||
+16
-13
@@ -123,14 +123,22 @@ class CLI(UI):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def display_progress(self, **ka):
|
def display_progress(self, operation, percent, info="", **ka):
|
||||||
totalsize = '%.1f %s' % pisi.util.human_readable_size(ka['total_size'])
|
""" display progress of any operation """
|
||||||
out = '\r%-30.30s (%s)%3d%% %9.2f %s [%s]' % \
|
|
||||||
(ka['filename'], totalsize, ka['percent'],
|
if operation == "removing":
|
||||||
ka['rate'], ka['symbol'], ka['eta'])
|
return
|
||||||
self.output(out)
|
elif operation == "fetching":
|
||||||
if ka['percent'] == 100:
|
totalsize = '%.1f %s' % pisi.util.human_readable_size(ka['total_size'])
|
||||||
|
out = '\r%-30.30s (%s)%3d%% %9.2f %s [%s]' % \
|
||||||
|
(ka['filename'], totalsize, percent,
|
||||||
|
ka['rate'], ka['symbol'], ka['eta'])
|
||||||
|
self.output(out)
|
||||||
|
else:
|
||||||
|
self.output("\r%s (%d%%)" % (keywords['info'], percent))
|
||||||
|
|
||||||
|
if percent == 100:
|
||||||
self.output(colorize(_(' [complete]\n'), 'gray'))
|
self.output(colorize(_(' [complete]\n'), 'gray'))
|
||||||
|
|
||||||
def status(self, msg = None):
|
def status(self, msg = None):
|
||||||
@@ -150,11 +158,6 @@ class CLI(UI):
|
|||||||
msg = _('Configured %s') % keywords['package'].name
|
msg = _('Configured %s') % keywords['package'].name
|
||||||
elif event == ui.extracting:
|
elif event == ui.extracting:
|
||||||
msg = _('Extracting the files of %s') % keywords['name']
|
msg = _('Extracting the files of %s') % keywords['name']
|
||||||
if event == ui.progressed:
|
|
||||||
self.output("\r%s (%d%%)" % (keywords['info'], keywords['percent']))
|
|
||||||
if keywords['percent'] == 100:
|
|
||||||
self.output(colorize(_(' [complete]\n'), 'gray'))
|
|
||||||
msg = None
|
|
||||||
else:
|
else:
|
||||||
msg = None
|
msg = None
|
||||||
if msg:
|
if msg:
|
||||||
|
|||||||
+2
-1
@@ -138,8 +138,9 @@ class Fetcher:
|
|||||||
if p.update(downloaded_size):
|
if p.update(downloaded_size):
|
||||||
self.percent = p.percent
|
self.percent = p.percent
|
||||||
if not self.complete:
|
if not self.complete:
|
||||||
ctx.ui.display_progress(filename = self.url.filename(),
|
ctx.ui.display_progress(operation = "fetching",
|
||||||
percent = self.percent,
|
percent = self.percent,
|
||||||
|
filename = self.url.filename(),
|
||||||
total_size = total_size,
|
total_size = total_size,
|
||||||
downloaded_size = downloaded_size,
|
downloaded_size = downloaded_size,
|
||||||
rate = self.rate,
|
rate = self.rate,
|
||||||
|
|||||||
+3
-4
@@ -108,10 +108,9 @@ class Index(XmlFile):
|
|||||||
|
|
||||||
def update_progress():
|
def update_progress():
|
||||||
self.processed += 1
|
self.processed += 1
|
||||||
ctx.ui.notify(pisi.ui.progressed,
|
ctx.ui.display_progress(operation = "updatingrepo",
|
||||||
operation = "updatingrepo",
|
percent = self.progress.update(self.processed),
|
||||||
percent = self.progress.update(self.processed),
|
info = _("Updating package database of %s") % repo)
|
||||||
info = _("Updating package database of %s") % repo)
|
|
||||||
|
|
||||||
ctx.componentdb.remove_repo(repo, txn=txn)
|
ctx.componentdb.remove_repo(repo, txn=txn)
|
||||||
for comp in self.components:
|
for comp in self.components:
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@ import pisi
|
|||||||
import pisi.context as ctx
|
import pisi.context as ctx
|
||||||
|
|
||||||
(installed, upgraded, removed, installing, removing, configuring, configured, extracting,
|
(installed, upgraded, removed, installing, removing, configuring, configured, extracting,
|
||||||
downloading, packagestogo, updatingrepo, progressed) = range(12)
|
downloading, packagestogo, updatingrepo) = range(11)
|
||||||
|
|
||||||
class UI(object):
|
class UI(object):
|
||||||
"Abstract class for UI operations, derive from this."
|
"Abstract class for UI operations, derive from this."
|
||||||
|
|||||||
Reference in New Issue
Block a user