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

Reply via email to