On Tue, Dec 7, 2010 at 3:58 PM, James Antill <[email protected]> wrote: > --- > output.py | 17 +++++++++++++---- > 1 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/output.py b/output.py > index 0f3543f..a8bf1cc 100755 > --- a/output.py > +++ b/output.py > @@ -2278,6 +2278,15 @@ class YumCliRPMCallBack(RPMBaseCallback): > def event(self, package, action, te_current, te_total, ts_current, > ts_total): > # this is where a progress bar would be called > process = self.action[action] > + > + if not hasattr(self, '_max_action_wid'): > + wid1 = 0 > + for val in self.action.values(): > + wid_val = utf8_width(val) > + if wid1 < wid_val: > + wid1 = wid_val > + self._max_action_wid = wid1 > + wid1 = self._max_action_wid > > if type(package) not in types.StringTypes: > pkgname = str(package) > @@ -2292,7 +2301,7 @@ class YumCliRPMCallBack(RPMBaseCallback): > > if self.output and (sys.stdout.isatty() or te_current == te_total): > (fmt, wid1, wid2) = self._makefmt(percent, ts_current, > ts_total, > - pkgname=pkgname) > + pkgname=pkgname, wid1=wid1) > msg = fmt % (utf8_width_fill(process, wid1, wid1), > utf8_width_fill(pkgname, wid2, wid2)) > if msg != self.lastmsg: > @@ -2308,7 +2317,7 @@ class YumCliRPMCallBack(RPMBaseCallback): > sys.stdout.flush() > > def _makefmt(self, percent, ts_current, ts_total, progress = True, > - pkgname=None): > + pkgname=None, wid1=15): > l = len(str(ts_total)) > size = "%s.%s" % (l, l) > fmt_done = "%" + size + "s/%" + size + "s" > @@ -2322,7 +2331,7 @@ class YumCliRPMCallBack(RPMBaseCallback): > pnl = utf8_width(pkgname) > > overhead = (2 * l) + 2 # Length of done, above > - overhead += 19 # Length of begining > + overhead += 2+ wid1 +2 # Length of begining (" " action " :") > overhead += 1 # Space between pn and done > overhead += 2 # Ends for progress > overhead += 1 # Space for end > @@ -2353,7 +2362,7 @@ class YumCliRPMCallBack(RPMBaseCallback): > bar = fmt_bar % (self.mark * marks, ) > fmt = " %s: %s " + bar + " " + done > wid2 = pnl > - return fmt, 15, wid2 > + return fmt, wid1, wid2 > > > def progressbar(current, total, name=None): > -- > 1.7.2.3 > > _______________________________________________ > Yum-devel mailing list > [email protected] > http://lists.baseurl.org/mailman/listinfo/yum-devel >
ACK
_______________________________________________ Yum-devel mailing list [email protected] http://lists.baseurl.org/mailman/listinfo/yum-devel
