diff options
| author | Petter Rasmussen | 2016-01-23 23:41:19 +0100 | 
|---|---|---|
| committer | Petter Rasmussen | 2016-01-23 23:41:19 +0100 | 
| commit | 280ce2d2a71d27b4d389d130865e909e61dead25 (patch) | |
| tree | 3592ff4d061ea8c6599cf8f5f85bccc260cff5e5 | |
| parent | fdb18f8a1aa5ef13e22437fc56fc303bf65afc4e (diff) | |
| download | gdrive-280ce2d2a71d27b4d389d130865e909e61dead25.tar.bz2 | |
ResumableMedia is deprecated, use Media with ChunkSize
| -rw-r--r-- | drive/upload.go | 11 | ||||
| -rw-r--r-- | gdrive.go | 6 | ||||
| -rw-r--r-- | handlers_drive.go | 1 | 
3 files changed, 16 insertions, 2 deletions
| diff --git a/drive/upload.go b/drive/upload.go index 5c5e38e..03cb5ad 100644 --- a/drive/upload.go +++ b/drive/upload.go @@ -8,7 +8,6 @@ import (      "path/filepath"      "google.golang.org/api/googleapi"      "google.golang.org/api/drive/v3" -    "golang.org/x/net/context"  )  type UploadFileArgs struct { @@ -20,9 +19,14 @@ type UploadFileArgs struct {      Recursive bool      Share bool      NoProgress bool +    ChunkSize int64  }  func (self *Drive) Upload(args UploadFileArgs) (err error) { +    if args.ChunkSize > intMax() - 1 { +        return fmt.Errorf("Chunk size is to big, max chunk size for this computer is %d", intMax() - 1) +    } +      srcFile, err := os.Open(args.Path)      if err != nil {          return fmt.Errorf("Failed to open file: %s", err) @@ -53,7 +57,10 @@ func (self *Drive) Upload(args UploadFileArgs) (err error) {      // Set parent folders      dstFile.Parents = args.Parents -    f, err := self.service.Files.Create(dstFile).ResumableMedia(context.Background(), srcFile, srcFileInfo.Size(), dstFile.MimeType).Do() +    // Chunk size option +    chunkSize := googleapi.ChunkSize(int(args.ChunkSize)) + +    f, err := self.service.Files.Create(dstFile).Media(srcFile, chunkSize).Do()      if err != nil {          return fmt.Errorf("Failed to upload file: %s", err)      } @@ -193,6 +193,12 @@ func main() {                          Description: "Share file",                          OmitValue: true,                      }, +                    cli.IntFlag{ +                        Name: "chunksize", +                        Patterns: []string{"--chunksize"}, +                        Description: fmt.Sprintf("Set chunk size in bytes, default: %d", DefaultUploadChunkSize), +                        DefaultValue: DefaultUploadChunkSize, +                    },                  },              },          }, diff --git a/handlers_drive.go b/handlers_drive.go index d454b4f..8245481 100644 --- a/handlers_drive.go +++ b/handlers_drive.go @@ -62,6 +62,7 @@ func uploadHandler(ctx cli.Context) {          Recursive: args.Bool("recursive"),          Share: args.Bool("share"),          NoProgress: args.Bool("noProgress"), +        ChunkSize: args.Int64("chunksize"),      })      checkErr(err)  } | 
