aboutsummaryrefslogtreecommitdiffstats
path: root/handlers_drive.go
diff options
context:
space:
mode:
Diffstat (limited to 'handlers_drive.go')
-rw-r--r--handlers_drive.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/handlers_drive.go b/handlers_drive.go
index 28d3095..13ba9c0 100644
--- a/handlers_drive.go
+++ b/handlers_drive.go
@@ -46,11 +46,13 @@ func listChangesHandler(ctx cli.Context) {
func downloadHandler(ctx cli.Context) {
args := ctx.Args()
+ checkDownloadArgs(args)
err := newDrive(args).Download(drive.DownloadArgs{
Out: os.Stdout,
Id: args.String("fileId"),
Force: args.Bool("force"),
Path: args.String("path"),
+ Delete: args.Bool("delete"),
Recursive: args.Bool("recursive"),
Stdout: args.Bool("stdout"),
Progress: progressWriter(args.Bool("noProgress")),
@@ -90,6 +92,7 @@ func downloadRevisionHandler(ctx cli.Context) {
func uploadHandler(ctx cli.Context) {
args := ctx.Args()
+ checkUploadArgs(args)
err := newDrive(args).Upload(drive.UploadArgs{
Out: os.Stdout,
Progress: progressWriter(args.Bool("noProgress")),
@@ -99,6 +102,7 @@ func uploadHandler(ctx cli.Context) {
Mime: args.String("mime"),
Recursive: args.Bool("recursive"),
Share: args.Bool("share"),
+ Delete: args.Bool("delete"),
ChunkSize: args.Int64("chunksize"),
})
checkErr(err)
@@ -366,3 +370,19 @@ func conflictResolution(args cli.Arguments) drive.ConflictResolution {
return drive.NoResolution
}
+
+func checkUploadArgs(args cli.Arguments) {
+ if args.Bool("recursive") && args.Bool("delete") {
+ ExitF("--delete is not allowed for recursive uploads")
+ }
+
+ if args.Bool("recursive") && args.Bool("share") {
+ ExitF("--share is not allowed for recursive uploads")
+ }
+}
+
+func checkDownloadArgs(args cli.Arguments) {
+ if args.Bool("recursive") && args.Bool("delete") {
+ ExitF("--delete is not allowed for recursive downloads")
+ }
+}