diff options
| author | Petter Rasmussen | 2016-02-15 21:50:45 +0100 | 
|---|---|---|
| committer | Petter Rasmussen | 2016-02-15 21:50:45 +0100 | 
| commit | 713b0624b9f9ac2370a898f669a922f80a7fe8ea (patch) | |
| tree | d8b3579a97b52d474f6eaab3625ec78b6fedf126 /drive/upload.go | |
| parent | cd62c9d23d226b77111274144bdc81330013fdfc (diff) | |
| download | gdrive-713b0624b9f9ac2370a898f669a922f80a7fe8ea.tar.bz2 | |
Add more share commands, upload + share
Diffstat (limited to 'drive/upload.go')
| -rw-r--r-- | drive/upload.go | 31 | 
1 files changed, 22 insertions, 9 deletions
| diff --git a/drive/upload.go b/drive/upload.go index 4f237ca..898e3cd 100644 --- a/drive/upload.go +++ b/drive/upload.go @@ -43,7 +43,16 @@ func (self *Drive) Upload(args UploadArgs) error {      f, rate, err := self.uploadFile(args)      fmt.Fprintf(args.Out, "Uploaded %s at %s/s, total %s\n", f.Id, formatSize(rate, false), formatSize(f.Size, false)) -    return err + +    if args.Share { +        err = self.shareAnyoneReader(f.Id) +        if err != nil { +            return err +        } + +        fmt.Fprintf(args.Out, "File is readable by anyone at %s\n", f.WebContentLink) +    } +    return nil  }  func (self *Drive) uploadRecursive(args UploadArgs) error { @@ -76,7 +85,6 @@ func (self *Drive) uploadDirectory(args UploadArgs) error {          Out: args.Out,          Name: srcFileInfo.Name(),          Parents: args.Parents, -        Share: args.Share,      })      if err != nil {          return err @@ -142,7 +150,7 @@ func (self *Drive) uploadFile(args UploadArgs) (*drive.File, int64, error) {      fmt.Fprintf(args.Out, "Uploading %s\n", args.Path)      started := time.Now() -    f, err := self.service.Files.Create(dstFile).Fields("id", "name", "size", "md5Checksum").Media(srcReader, chunkSize).Do() +    f, err := self.service.Files.Create(dstFile).Fields("id", "name", "size", "md5Checksum", "webContentLink").Media(srcReader, chunkSize).Do()      if err != nil {          return nil, 0, fmt.Errorf("Failed to upload file: %s", err)      } @@ -164,7 +172,7 @@ type UploadStreamArgs struct {      Progress io.Writer  } -func (self *Drive) UploadStream(args UploadStreamArgs) (err error) { +func (self *Drive) UploadStream(args UploadStreamArgs) error {      if args.ChunkSize > intMax() - 1 {          return fmt.Errorf("Chunk size is to big, max chunk size for this computer is %d", intMax() - 1)      } @@ -189,7 +197,7 @@ func (self *Drive) UploadStream(args UploadStreamArgs) (err error) {      fmt.Fprintf(args.Out, "Uploading %s\n", dstFile.Name)      started := time.Now() -    f, err := self.service.Files.Create(dstFile).Fields("id", "name", "size").Media(srcReader, chunkSize).Do() +    f, err := self.service.Files.Create(dstFile).Fields("id", "name", "size", "webContentLink").Media(srcReader, chunkSize).Do()      if err != nil {          return fmt.Errorf("Failed to upload file: %s", err)      } @@ -198,8 +206,13 @@ func (self *Drive) UploadStream(args UploadStreamArgs) (err error) {      rate := calcRate(f.Size, started, time.Now())      fmt.Fprintf(args.Out, "Uploaded %s at %s/s, total %s\n", f.Id, formatSize(rate, false), formatSize(f.Size, false)) -    //if args.Share { -    //    self.Share(TODO) -    //} -    return +    if args.Share { +        err = self.shareAnyoneReader(f.Id) +        if err != nil { +            return err +        } + +        fmt.Fprintf(args.Out, "File is readable by anyone at %s\n", f.WebContentLink) +    } +    return nil  } | 
