Codebase list golang-github-vbauerster-mpb / b90a12d
Revert "placeholder eta/elapsed for aborted bar" This reverts commit e6506d8f6fc4c757a778fd019aa884dfccf2aa1d. Same can be achieved with decor.OnAbort wrapper. Vladimir Bauer 3 years ago
2 changed file(s) with 16 addition(s) and 34 deletion(s). Raw diff Collapse all Expand all
2626 producer := chooseTimeProducer(style)
2727 fn := func(s Statistics) string {
2828 if !s.Completed {
29 msg = producer(time.Since(startTime), s.Aborted)
29 msg = producer(time.Since(startTime))
3030 }
3131 return msg
3232 }
5959 WC
6060 average ewma.MovingAverage
6161 normalizer TimeNormalizer
62 producer func(time.Duration, bool) string
62 producer func(time.Duration) string
6363 }
6464
6565 func (d *movingAverageETA) Decor(s Statistics) string {
66 var remaining time.Duration
67 if !s.Aborted {
68 v := math.Round(d.average.Value())
69 remaining = time.Duration((s.Total - s.Current) * int64(v))
70 if d.normalizer != nil {
71 remaining = d.normalizer.Normalize(remaining)
72 }
73 }
74 return d.FormatMsg(d.producer(remaining, s.Aborted))
66 v := math.Round(d.average.Value())
67 remaining := time.Duration((s.Total - s.Current) * int64(v))
68 if d.normalizer != nil {
69 remaining = d.normalizer.Normalize(remaining)
70 }
71 return d.FormatMsg(d.producer(remaining))
7572 }
7673
7774 func (d *movingAverageETA) EwmaUpdate(n int64, dur time.Duration) {
116113 WC
117114 startTime time.Time
118115 normalizer TimeNormalizer
119 producer func(time.Duration, bool) string
116 producer func(time.Duration) string
120117 }
121118
122119 func (d *averageETA) Decor(s Statistics) string {
123120 var remaining time.Duration
124 if s.Current != 0 && !s.Aborted {
121 if s.Current != 0 {
125122 durPerItem := float64(time.Since(d.startTime)) / float64(s.Current)
126123 durPerItem = math.Round(durPerItem)
127124 remaining = time.Duration((s.Total - s.Current) * int64(durPerItem))
129126 remaining = d.normalizer.Normalize(remaining)
130127 }
131128 }
132 return d.FormatMsg(d.producer(remaining, s.Aborted))
129 return d.FormatMsg(d.producer(remaining))
133130 }
134131
135132 func (d *averageETA) AverageAdjust(startTime time.Time) {
171168 })
172169 }
173170
174 func chooseTimeProducer(style TimeStyle) func(time.Duration, bool) string {
171 func chooseTimeProducer(style TimeStyle) func(time.Duration) string {
175172 switch style {
176173 case ET_STYLE_HHMMSS:
177 return func(remaining time.Duration, aborted bool) string {
178 if aborted {
179 return "--:--:--"
180 }
174 return func(remaining time.Duration) string {
181175 hours := int64(remaining/time.Hour) % 60
182176 minutes := int64(remaining/time.Minute) % 60
183177 seconds := int64(remaining/time.Second) % 60
184178 return fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
185179 }
186180 case ET_STYLE_HHMM:
187 return func(remaining time.Duration, aborted bool) string {
188 if aborted {
189 return "--:--"
190 }
181 return func(remaining time.Duration) string {
191182 hours := int64(remaining/time.Hour) % 60
192183 minutes := int64(remaining/time.Minute) % 60
193184 return fmt.Sprintf("%02d:%02d", hours, minutes)
194185 }
195186 case ET_STYLE_MMSS:
196 return func(remaining time.Duration, aborted bool) string {
187 return func(remaining time.Duration) string {
197188 hours := int64(remaining/time.Hour) % 60
198189 minutes := int64(remaining/time.Minute) % 60
199190 seconds := int64(remaining/time.Second) % 60
200191 if hours > 0 {
201 if aborted {
202 return "--:--:--"
203 }
204192 return fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
205193 }
206 if aborted {
207 return "--:--"
208 }
209194 return fmt.Sprintf("%02d:%02d", minutes, seconds)
210195 }
211196 default:
212 return func(remaining time.Duration, aborted bool) string {
213 if aborted {
214 return "unknown"
215 }
197 return func(remaining time.Duration) string {
216198 // strip off nanoseconds
217199 return ((remaining / time.Second) * time.Second).String()
218200 }