diff --git a/decorators.go b/decorators.go index 39aaa9d..5dac8cf 100644 --- a/decorators.go +++ b/decorators.go @@ -41,16 +41,17 @@ } func (b *Bar) PrependETA(padding int) *Bar { - layout := "ETA%" + strconv.Itoa(padding) + "s" + layout := "ETA% " + strconv.Itoa(padding) + "s" b.PrependFunc(func(s *Statistics) string { return fmt.Sprintf(layout, time.Duration(s.Eta().Seconds())*time.Second) }) return b } -func (b *Bar) AppendETA() *Bar { +func (b *Bar) AppendETA(padding int) *Bar { + layout := "ETA% " + strconv.Itoa(padding) + "s" b.AppendFunc(func(s *Statistics) string { - return fmt.Sprintf("ETA %s", time.Duration(s.Eta().Seconds())*time.Second) + return fmt.Sprintf(layout, time.Duration(s.Eta().Seconds())*time.Second) }) return b } diff --git a/example/io/multiple/main.go b/example/io/multiple/main.go index f866c06..1a07461 100644 --- a/example/io/multiple/main.go +++ b/example/io/multiple/main.go @@ -60,9 +60,9 @@ // create bar with appropriate decorators bar := p.AddBar(int(size)). + PrependName(name, len(name)). PrependCounters(mpb.UnitBytes, 20). - PrependName(name, len(name)). - AppendETA() + AppendETA(-6) // create proxy reader reader := bar.ProxyReader(resp.Body) // and copy from reader diff --git a/example/prependETA/main.go b/example/prependETA/main.go index 8f67483..a6a2625 100644 --- a/example/prependETA/main.go +++ b/example/prependETA/main.go @@ -20,7 +20,10 @@ // p := mpb.New().RefreshRate(80 * time.Millisecond).SetWidth(64) name1 := "Bar#1: " - bar1 := p.AddBar(50).AppendPercentage().PrependName(name1, len(name1)).PrependETA(4) + bar1 := p.AddBar(50). + PrependName(name1, len(name1)).PrependETA(4). + AppendPercentage().TrimRightSpace() + wg.Add(1) go func() { defer wg.Done() @@ -32,7 +35,10 @@ } }() - bar2 := p.AddBar(100).AppendPercentage().PrependName("", 0-len(name1)).PrependETA(4) + bar2 := p.AddBar(100). + PrependName("", 0-len(name1)).PrependETA(4). + AppendPercentage().TrimRightSpace() + wg.Add(1) go func() { defer wg.Done() @@ -40,14 +46,14 @@ for i := 0; i < 100; i++ { time.Sleep(time.Duration(blockSize) * (50*time.Millisecond + time.Duration(rand.Intn(5*int(time.Millisecond))))) bar2.Incr(1) - if bar2.Current() > 42 && p.RemoveBar(bar2) { - break - } blockSize = rand.Intn(maxBlockSize) + 1 } }() - bar3 := p.AddBar(80).AppendPercentage().PrependName("Bar#3: ", 0).PrependETA(4) + bar3 := p.AddBar(80). + PrependName("Bar#3: ", 0).PrependETA(4). + AppendPercentage().TrimRightSpace() + wg.Add(1) go func() { defer wg.Done()