@cryptotaxi247 / kubo / commits / 43cd49dcb

fix progress bar in ipfs get

License: MIT Signed-off-by: Jeromy <why@ipfs.io>

Jeromy committed Jul 6, 2016 at 15:42 UTC 43cd49dcb432f419fdd991ea0f6e2e8480c3ae45
1 file changed +12 -2
core/commands/get.go
+12 -2
@@ -69,6 +69,14 @@ may also specify the level of compression by specifying '-l=<1-9>'.
69 return
70 }
71
72 + size, err := dn.Size()
73 + if err != nil {
74 + res.SetError(err, cmds.ErrNormal)
75 + return
76 + }
77 +
78 + res.SetLength(size)
79 +
80 archive, _, _ := req.Option("archive").Bool()
81 reader, err := uarchive.DagArchive(ctx, dn, p.String(), node.DAG, archive, cmplvl)
82 if err != nil {
@@ -103,6 +111,7 @@ may also specify the level of compression by specifying '-l=<1-9>'.
111 Err: os.Stderr,
112 Archive: archive,
113 Compression: cmplvl,
114 + Size: int64(res.Length()),
115 }
116
117 if err := gw.Write(outReader, outPath); err != nil {
@@ -149,6 +158,7 @@ type getWriter struct {
158
159 Archive bool
160 Compression int
161 + Size int64
162 }
163
164 func (gw *getWriter) Write(r io.Reader, fpath string) error {
@@ -181,7 +191,7 @@ func (gw *getWriter) writeArchive(r io.Reader, fpath string) error {
191 defer file.Close()
192
193 fmt.Fprintf(gw.Out, "Saving archive to %s\n", fpath)
184 - bar, barR := progressBarForReader(gw.Err, r, 0)
194 + bar, barR := progressBarForReader(gw.Err, r, gw.Size)
195 bar.Start()
196 defer bar.Finish()
197
@@ -191,7 +201,7 @@ func (gw *getWriter) writeArchive(r io.Reader, fpath string) error {
201
202 func (gw *getWriter) writeExtracted(r io.Reader, fpath string) error {
203 fmt.Fprintf(gw.Out, "Saving file(s) to %s\n", fpath)
194 - bar, barR := progressBarForReader(gw.Err, r, 0)
204 + bar, barR := progressBarForReader(gw.Err, r, gw.Size)
205 bar.Start()
206 defer bar.Finish()
207