diff options
| author | Petter Rasmussen | 2016-02-14 23:10:57 +0100 |
|---|---|---|
| committer | Petter Rasmussen | 2016-02-14 23:10:57 +0100 |
| commit | ef097ce557abf04a4871429e313af52e13d31cec (patch) | |
| tree | 45303a0e0f9ce141f2a1685745db9989178bf7c0 /drive/upload.go | |
| parent | 453c097b053b8a85395caf117136f7aec1d1ada4 (diff) | |
| download | gdrive-ef097ce557abf04a4871429e313af52e13d31cec.tar.bz2 | |
Add progress bar to upload from stdin
Diffstat (limited to 'drive/upload.go')
| -rw-r--r-- | drive/upload.go | 6 |
1 files changed, 5 insertions, 1 deletions
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) } |
