From 06c6857d7d8837e28cdc45a33f4f69ec882c6fe2 Mon Sep 17 00:00:00 2001 From: Petter Rasmussen Date: Sun, 24 Jan 2016 12:39:16 +0100 Subject: Enable progress indicator --- drive/download.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'drive/download.go') diff --git a/drive/download.go b/drive/download.go index 31bcc58..e5674ad 100644 --- a/drive/download.go +++ b/drive/download.go @@ -8,9 +8,9 @@ import ( type DownloadFileArgs struct { Out io.Writer + Progress io.Writer Id string Force bool - NoProgress bool Stdout bool } @@ -30,9 +30,12 @@ func (self *Drive) Download(args DownloadFileArgs) (err error) { // Close body on function exit defer res.Body.Close() + // Wrap response body in progress reader + srcReader := getProgressReader(res.Body, args.Progress, res.ContentLength) + if args.Stdout { // Write file content to stdout - _, err := io.Copy(os.Stdout, res.Body) + _, err := io.Copy(args.Out, srcReader) return err } @@ -51,7 +54,7 @@ func (self *Drive) Download(args DownloadFileArgs) (err error) { defer outFile.Close() // Save file to disk - bytes, err := io.Copy(outFile, res.Body) + bytes, err := io.Copy(outFile, srcReader) if err != nil { return fmt.Errorf("Failed saving file: %s", err) } -- cgit v1.2.3