diff options
| -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": |
