mirror of
https://github.com/rclone/rclone.git
synced 2024-11-30 04:23:48 +08:00
bff702a6f1
This adds an additional parameter to the creation of each flag. This specifies one or more flag groups. This **must** be set for global flags and **must not** be set for local flags. This causes flags.md to be built with sections to aid comprehension and it causes the documentation pages for each command (and the `--help`) to be built showing the flags groups as specified in the `groups` annotation on the command. See: https://forum.rclone.org/t/make-docs-for-mortals-not-only-rclone-gurus/39476/
46 lines
1.4 KiB
Go
46 lines
1.4 KiB
Go
// Package authorize provides the authorize command.
|
|
package authorize
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/rclone/rclone/cmd"
|
|
"github.com/rclone/rclone/fs/config"
|
|
"github.com/rclone/rclone/fs/config/flags"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var (
|
|
noAutoBrowser bool
|
|
template string
|
|
)
|
|
|
|
func init() {
|
|
cmd.Root.AddCommand(commandDefinition)
|
|
cmdFlags := commandDefinition.Flags()
|
|
flags.BoolVarP(cmdFlags, &noAutoBrowser, "auth-no-open-browser", "", false, "Do not automatically open auth link in default browser", "")
|
|
flags.StringVarP(cmdFlags, &template, "template", "", "", "The path to a custom Go template for generating HTML responses", "")
|
|
}
|
|
|
|
var commandDefinition = &cobra.Command{
|
|
Use: "authorize",
|
|
Short: `Remote authorization.`,
|
|
Long: `
|
|
Remote authorization. Used to authorize a remote or headless
|
|
rclone from a machine with a browser - use as instructed by
|
|
rclone config.
|
|
|
|
Use --auth-no-open-browser to prevent rclone to open auth
|
|
link in default browser automatically.
|
|
|
|
Use --template to generate HTML output via a custom Go template. If a blank string is provided as an argument to this flag, the default template is used.`,
|
|
Annotations: map[string]string{
|
|
"versionIntroduced": "v1.27",
|
|
// "groups": "",
|
|
},
|
|
RunE: func(command *cobra.Command, args []string) error {
|
|
cmd.CheckArgs(1, 3, command, args)
|
|
return config.Authorize(context.Background(), args, noAutoBrowser, template)
|
|
},
|
|
}
|