Skip to content

Commit 345ed1b

Browse files
authored
Merge pull request #5025 from blueelvis/4996-fix-download-progress-bars
Upgrade cheggaaa/pb from v1.0.27 to v3.0.1
2 parents b557ed8 + 42f5b11 commit 345ed1b

File tree

3 files changed

+17
-31
lines changed

3 files changed

+17
-31
lines changed

Diff for: go.mod

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ require (
99
github.com/blang/semver v3.5.0+incompatible
1010
github.com/c4milo/gotoolkit v0.0.0-20170318115440-bcc06269efa9 // indirect
1111
github.com/cenkalti/backoff v2.2.1+incompatible
12-
github.com/cheggaaa/pb v1.0.27
12+
github.com/cheggaaa/pb/v3 v3.0.1
1313
github.com/cloudfoundry-attic/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
1414
github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21 // indirect
1515
github.com/docker/docker v1.13.1 // indirect
@@ -35,7 +35,6 @@ require (
3535
github.com/johanneswuerbach/nfsexports v0.0.0-20181204082207-1aa528dcb345
3636
github.com/libvirt/libvirt-go v3.4.0+incompatible
3737
github.com/machine-drivers/docker-machine-driver-vmware v0.1.1
38-
github.com/mattn/go-colorable v0.1.2 // indirect
3938
github.com/mattn/go-isatty v0.0.8
4039
github.com/mitchellh/go-ps v0.0.0-20170309133038-4fdf99ab2936
4140
github.com/moby/hyperkit v0.0.0-20171020124204-a12cd7250bcd

Diff for: go.sum

+4
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ github.com/Sirupsen/logrus v0.0.0-20170822132746-89742aefa4b2 h1:k1A7eIeUk6rnX2y
3333
github.com/Sirupsen/logrus v0.0.0-20170822132746-89742aefa4b2/go.mod h1:rmk17hk6i8ZSAJkSDa7nOxamrG+SP4P0mm+DAvExv4U=
3434
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk=
3535
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
36+
github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM=
37+
github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA=
3638
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
3739
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
3840
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
@@ -59,6 +61,8 @@ github.com/cespare/prettybench v0.0.0-20150116022406-03b8cfe5406c/go.mod h1:Xe6Z
5961
github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
6062
github.com/cheggaaa/pb v1.0.27 h1:wIkZHkNfC7R6GI5w7l/PdAdzXzlrbcI3p8OAlnkTsnc=
6163
github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s=
64+
github.com/cheggaaa/pb/v3 v3.0.1 h1:m0BngUk2LuSRYdx4fujDKNRXNDpbNCfptPfVT2m6OJY=
65+
github.com/cheggaaa/pb/v3 v3.0.1/go.mod h1:SqqeMF/pMOIu3xgGoxtPYhMNQP258xE4x/XRTYua+KU=
6266
github.com/client9/misspell v0.0.0-20170928000206-9ce5d979ffda/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
6367
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
6468
github.com/cloudflare/cfssl v0.0.0-20180726162950-56268a613adf/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA=

Diff for: pkg/util/progressbar.go

+12-29
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,19 @@ limitations under the License.
2121
package util
2222

2323
import (
24-
"fmt"
2524
"io"
2625
"path/filepath"
2726
"sync"
2827

29-
"github.com/cheggaaa/pb"
30-
"github.com/golang/glog"
28+
"github.com/cheggaaa/pb/v3"
3129
"github.com/hashicorp/go-getter"
3230
)
3331

3432
var defaultProgressBar getter.ProgressTracker = &progressBar{}
3533

3634
type progressBar struct {
37-
lock sync.Mutex
38-
pool *pb.Pool
39-
pbs int
35+
lock sync.Mutex
36+
progress *pb.ProgressBar
4037
}
4138

4239
// TrackProgress instantiates a new progress bar that will
@@ -45,38 +42,24 @@ type progressBar struct {
4542
func (cpb *progressBar) TrackProgress(src string, currentSize, totalSize int64, stream io.ReadCloser) io.ReadCloser {
4643
cpb.lock.Lock()
4744
defer cpb.lock.Unlock()
48-
49-
if cpb.pool == nil {
50-
cpb.pool = pb.NewPool()
51-
if err := cpb.pool.Start(); err != nil {
52-
glog.Errorf("pool start: %v", err)
53-
}
45+
if cpb.progress == nil {
46+
cpb.progress = pb.New64(totalSize)
5447
}
48+
p := pb.Full.Start64(totalSize)
49+
p.Set("prefix", filepath.Base(src+": "))
50+
p.SetCurrent(currentSize)
51+
p.Set(pb.Bytes, true)
5552

56-
p := pb.New64(totalSize)
57-
p.Set64(currentSize)
58-
p.SetUnits(pb.U_BYTES)
59-
p.Prefix(fmt.Sprintf(" %s:", filepath.Base(src)))
6053
// Just a hair less than 80 (standard terminal width) for aesthetics & pasting into docs
61-
p.SetWidth(78)
62-
cpb.pool.Add(p)
63-
reader := p.NewProxyReader(stream)
54+
p.SetWidth(79)
55+
barReader := p.NewProxyReader(stream)
6456

65-
cpb.pbs++
6657
return &readCloser{
67-
Reader: reader,
58+
Reader: barReader,
6859
close: func() error {
6960
cpb.lock.Lock()
7061
defer cpb.lock.Unlock()
71-
7262
p.Finish()
73-
cpb.pbs--
74-
if cpb.pbs <= 0 {
75-
if err := cpb.pool.Stop(); err != nil {
76-
glog.Errorf("pool stop: %v", err)
77-
}
78-
cpb.pool = nil
79-
}
8063
return nil
8164
},
8265
}

0 commit comments

Comments
 (0)