pass *decor.Statistics to bar's new line extend function
Vladimir Bauer
7 years ago
| 65 | 65 |
refill *refill
|
| 66 | 66 |
bufP, bufB, bufA *bytes.Buffer
|
| 67 | 67 |
panicMsg string
|
| 68 | |
newLineExtendFn func(io.Writer, bool)
|
|
68 |
newLineExtendFn func(io.Writer, *decor.Statistics)
|
| 69 | 69 |
|
| 70 | 70 |
// following options are assigned to the *Bar
|
| 71 | 71 |
priority int
|
|
| 284 | 284 |
r := s.draw(tw)
|
| 285 | 285 |
if s.newLineExtendFn != nil {
|
| 286 | 286 |
b.bufNL.Reset()
|
| 287 | |
s.newLineExtendFn(b.bufNL, s.completeFlushed)
|
|
287 |
s.newLineExtendFn(b.bufNL, newStatistics(s))
|
| 288 | 288 |
r = io.MultiReader(r, b.bufNL)
|
| 289 | 289 |
}
|
| 290 | 290 |
b.frameReaderCh <- &frameReader{
|
|
| 299 | 299 |
r := s.draw(tw)
|
| 300 | 300 |
if s.newLineExtendFn != nil {
|
| 301 | 301 |
b.bufNL.Reset()
|
| 302 | |
s.newLineExtendFn(b.bufNL, s.completeFlushed)
|
|
302 |
s.newLineExtendFn(b.bufNL, newStatistics(s))
|
| 303 | 303 |
r = io.MultiReader(r, b.bufNL)
|
| 304 | 304 |
}
|
| 305 | 305 |
b.frameReaderCh <- &frameReader{Reader: r}
|
| 102 | 102 |
}
|
| 103 | 103 |
}
|
| 104 | 104 |
|
| 105 | |
// BarNewLineExtend takes user defined efn, which is called each render cycle.
|
| 106 | |
// Any write to provided writer w of efn, will appear on new line of respective bar.
|
| 107 | |
func BarNewLineExtend(efn func(w io.Writer, completed bool)) BarOption {
|
|
105 |
// BarNewLineExtend takes user defined efn, which gets called each render cycle.
|
|
106 |
// Any write to provided writer of efn, will appear on new line of respective bar.
|
|
107 |
func BarNewLineExtend(efn func(io.Writer, *decor.Statistics)) BarOption {
|
| 108 | 108 |
return func(s *bState) {
|
| 109 | 109 |
s.newLineExtendFn = efn
|
| 110 | 110 |
}
|
| 22 | 22 |
|
| 23 | 23 |
for i := 0; i < numBars; i++ {
|
| 24 | 24 |
name := fmt.Sprintf("Bar#%d:", i)
|
| 25 | |
efn := func(w io.Writer, completed bool) {
|
| 26 | |
if completed {
|
| 27 | |
io.WriteString(w, name+" is completed!\n")
|
|
25 |
efn := func(w io.Writer, s *decor.Statistics) {
|
|
26 |
if s.Completed {
|
|
27 |
fmt.Fprintf(w, "Bar id: %d has been completed\n", s.ID)
|
| 28 | 28 |
}
|
| 29 | 29 |
}
|
| 30 | 30 |
bar := p.AddBar(int64(total), mpb.BarNewLineExtend(efn),
|