authorize: add support for custom templates

This adds support for providing custom Go templates for use in the
`rclone authorize` command.

Fixes #6741
This commit is contained in:
Hunter Wittenborn 2023-02-24 09:08:38 -06:00 committed by GitHub
parent 745c0af571
commit 56b582cdb9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 54 additions and 10 deletions

View file

@ -15,7 +15,7 @@ import (
// rclone authorize "fs name"
// rclone authorize "fs name" "base64 encoded JSON blob"
// rclone authorize "fs name" "client id" "client secret"
func Authorize(ctx context.Context, args []string, noAutoBrowser bool) error {
func Authorize(ctx context.Context, args []string, noAutoBrowser bool, templateFile string) error {
ctx = suppressConfirm(ctx)
ctx = fs.ConfigOAuthOnly(ctx)
switch len(args) {
@ -41,6 +41,11 @@ func Authorize(ctx context.Context, args []string, noAutoBrowser bool) error {
inM[ConfigAuthNoBrowser] = "true"
}
// Indicate if we specified a custom template via a file
if templateFile != "" {
inM[ConfigTemplateFile] = templateFile
}
// Add extra parameters if supplied
if len(args) == 2 {
err := inM.Decode(args[1])