diff options
| author | feschroe | 2014-04-06 12:14:09 +0200 |
|---|---|---|
| committer | feschroe | 2014-04-06 12:14:09 +0200 |
| commit | f666e816c8adeadfebd5ea5f044cb4796202bcc3 (patch) | |
| tree | d7997e9ae20add8502dbe6abb0b1c49a20d00ec6 | |
| parent | bd8f53151c39bd024a902b01f623d9daa994a63c (diff) | |
| download | gdrive-f666e816c8adeadfebd5ea5f044cb4796202bcc3.tar.bz2 | |
Added convert parameter
Convert file to Google Docs format on-the-fly while uploading
| -rw-r--r-- | cli/cli.go | 9 | ||||
| -rw-r--r-- | drive.go | 5 |
2 files changed, 10 insertions, 4 deletions
@@ -158,7 +158,8 @@ func Folder(d *gdrive.Drive, title string, parentId string, share bool) error { } // Upload file to drive -func Upload(d *gdrive.Drive, input io.ReadCloser, title string, parentId string, share bool, mimeType string) error { +func Upload(d *gdrive.Drive, input io.ReadCloser, title string, parentId string, share bool, mimeType string, convert bool) error { + // Use filename or 'untitled' as title if no title is specified if title == "" { if f, ok := input.(*os.File); ok && input != os.Stdin { @@ -181,7 +182,11 @@ func Upload(d *gdrive.Drive, input io.ReadCloser, title string, parentId string, } getRate := util.MeasureTransferRate() - info, err := d.Files.Insert(f).Media(input).Do() + if convert { + fmt.Printf("Converting to Google Docs format enabled\n") + } + + info, err := d.Files.Insert(f).Convert(convert).Media(input).Do() if err != nil { return fmt.Errorf("An error occurred uploading the document: %v\n", err) } @@ -46,6 +46,7 @@ type Options struct { ParentId string `goptions:"-p, --parent, description='Parent Id of the file'"` Share bool `goptions:"--share, description='Share uploaded file'"` MimeType string `goptions:"--mimetype, description='The MIME type (default will try to figure it out)'"` + Convert bool `goptions:"--convert, description='File will be converted to Google Docs format'"` } `goptions:"upload"` Download struct { @@ -104,9 +105,9 @@ func main() { case "upload": args := opts.Upload if args.Stdin { - err = cli.Upload(drive, os.Stdin, args.Title, args.ParentId, args.Share, args.MimeType) + err = cli.Upload(drive, os.Stdin, args.Title, args.ParentId, args.Share, args.MimeType, args.Convert) } else { - err = cli.Upload(drive, args.File, args.Title, args.ParentId, args.Share, args.MimeType) + err = cli.Upload(drive, args.File, args.Title, args.ParentId, args.Share, args.MimeType, args.Convert) } case "download": |
