func getConfigDir(args cli.Arguments) string { // Use dir from environment var if present if os.Getenv("GDRIVE_CONFIG_DIR") != "" { return os.Getenv("GDRIVE_CONFIG_DIR") } return args.String("configDir") }
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 conflictResolution(args cli.Arguments) drive.ConflictResolution { keepLocal := args.Bool("keepLocal") keepRemote := args.Bool("keepRemote") keepLargest := args.Bool("keepLargest") if (keepLocal && keepRemote) || (keepLocal && keepLargest) || (keepRemote && keepLargest) { ExitF("Only one conflict resolution flag can be given") } if keepLocal { return drive.KeepLocal } if keepRemote { return drive.KeepRemote } if keepLargest { return drive.KeepLargest } return drive.NoResolution }
func checkDownloadArgs(args cli.Arguments) { if args.Bool("recursive") && args.Bool("delete") { ExitF("--delete is not allowed for recursive downloads") } }
func getOauthClient(args cli.Arguments) (*http.Client, error) { if args.String("refreshToken") != "" && args.String("accessToken") != "" { ExitF("Access token not needed when refresh token is provided") } if args.String("refreshToken") != "" { return auth.NewRefreshTokenClient(ClientId, ClientSecret, args.String("refreshToken")), nil } if args.String("accessToken") != "" { return auth.NewAccessTokenClient(ClientId, ClientSecret, args.String("accessToken")), nil } configDir := getConfigDir(args) tokenPath := ConfigFilePath(configDir, TokenFilename) return auth.NewFileSourceClient(ClientId, ClientSecret, tokenPath, authCodePrompt) }