From ef097ce557abf04a4871429e313af52e13d31cec Mon Sep 17 00:00:00 2001 From: Petter Rasmussen Date: Sun, 14 Feb 2016 23:10:57 +0100 Subject: Add progress bar to upload from stdin --- drive/upload.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'drive/upload.go') diff --git a/drive/upload.go b/drive/upload.go index ad3cb34..4f237ca 100644 --- a/drive/upload.go +++ b/drive/upload.go @@ -161,6 +161,7 @@ type UploadStreamArgs struct { Mime string Share bool ChunkSize int64 + Progress io.Writer } func (self *Drive) UploadStream(args UploadStreamArgs) (err error) { @@ -182,10 +183,13 @@ func (self *Drive) UploadStream(args UploadStreamArgs) (err error) { // Chunk size option chunkSize := googleapi.ChunkSize(int(args.ChunkSize)) + // Wrap file in progress reader + srcReader := getProgressReader(args.In, args.Progress, 0) + fmt.Fprintf(args.Out, "Uploading %s\n", dstFile.Name) started := time.Now() - f, err := self.service.Files.Create(dstFile).Fields("id", "name", "size").Media(args.In, chunkSize).Do() + f, err := self.service.Files.Create(dstFile).Fields("id", "name", "size").Media(srcReader, chunkSize).Do() if err != nil { return fmt.Errorf("Failed to upload file: %s", err) } -- cgit v1.2.3