aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cli/cli.go9
-rw-r--r--drive.go5
2 files changed, 10 insertions, 4 deletions
diff --git a/cli/cli.go b/cli/cli.go
index 75ec4e7..4e347fb 100644
--- a/cli/cli.go
+++ b/cli/cli.go
@@ -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)
}
diff --git a/drive.go b/drive.go
index bad5ff4..a04056d 100644
--- a/drive.go
+++ b/drive.go
@@ -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":