Codebase list golang-github-vbauerster-mpb / e87645f
fix elapsed on complete Vladimir Bauer 7 years ago
1 changed file(s) with 15 addition(s) and 8 deletion(s). Raw diff Collapse all Expand all
2727 WC
2828 style int
2929 startTime time.Time
30 msg string
3031 completeMsg *string
3132 }
3233
3334 func (d *elapsedDecorator) Decor(st *Statistics) string {
34 if st.Completed && d.completeMsg != nil {
35 return d.FormatMsg(*d.completeMsg)
35 if st.Completed {
36 if d.completeMsg != nil {
37 return d.FormatMsg(*d.completeMsg)
38 }
39 return d.FormatMsg(d.msg)
3640 }
3741
38 var str string
3942 timeElapsed := time.Since(d.startTime)
4043 hours := int64((timeElapsed / time.Hour) % 60)
4144 minutes := int64((timeElapsed / time.Minute) % 60)
4346
4447 switch d.style {
4548 case ET_STYLE_GO:
46 str = fmt.Sprint(time.Duration(timeElapsed.Seconds()) * time.Second)
49 d.msg = fmt.Sprint(time.Duration(timeElapsed.Seconds()) * time.Second)
4750 case ET_STYLE_HHMMSS:
48 str = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
51 d.msg = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
4952 case ET_STYLE_HHMM:
50 str = fmt.Sprintf("%02d:%02d", hours, minutes)
53 d.msg = fmt.Sprintf("%02d:%02d", hours, minutes)
5154 case ET_STYLE_MMSS:
52 str = fmt.Sprintf("%02d:%02d", minutes, seconds)
55 if hours > 0 {
56 d.msg = fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
57 } else {
58 d.msg = fmt.Sprintf("%02d:%02d", minutes, seconds)
59 }
5360 }
5461
55 return d.FormatMsg(str)
62 return d.FormatMsg(d.msg)
5663 }
5764
5865 func (d *elapsedDecorator) OnCompleteMessage(msg string) {