cmd/gondole-cli/main.go
author Ollivier Robert <roberto@keltia.net>
Wed, 12 Apr 2017 18:07:56 +0200
changeset 82 09f5e04b1b37
parent 76 dd9b9c02bfff
child 89 8a7a33bec6e1
permissions -rw-r--r--
Begin auth support.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
cab58bf80778 Basic CLI-tool for testing.
Ollivier Robert <roberto@keltia.net>
parents:
diff changeset
     1
package main
cab58bf80778 Basic CLI-tool for testing.
Ollivier Robert <roberto@keltia.net>
parents:
diff changeset
     2
7
0fbbac6d8e8c We have an skeleton now.
Ollivier Robert <roberto@keltia.net>
parents: 5
diff changeset
     3
import (
38
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
     4
	"github.com/keltia/gondole"
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
     5
	"github.com/urfave/cli"
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
     6
	"log"
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
     7
	"os"
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
     8
	"strings"
7
0fbbac6d8e8c We have an skeleton now.
Ollivier Robert <roberto@keltia.net>
parents: 5
diff changeset
     9
)
0fbbac6d8e8c We have an skeleton now.
Ollivier Robert <roberto@keltia.net>
parents: 5
diff changeset
    10
19
9f4ae6d2a995 Barebone CLI app.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    11
var (
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    12
	fVerbose    bool
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    13
	fAuthMethod string
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    14
	fInstance   string
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    15
	fScopes     string
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    16
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    17
	instance *gondole.Client
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    18
	cnf      *Server
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    19
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    20
	// For bootstrapping, override the API endpoint w/o any possible /api/vN, that is
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    21
	// supplied by the library
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    22
	APIEndpoint string
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    23
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    24
	// Deduced though the full instance URL when registering
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    25
	InstanceName string
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    26
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    27
	// Default scopes
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    28
	ourScopes = []string{
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    29
		"read",
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    30
		"write",
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    31
		"follow",
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    32
	}
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    33
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    34
	authMethods = map[string]bool{
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    35
		"basic":  true,
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    36
		"oauth2": true,
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    37
	}
19
9f4ae6d2a995 Barebone CLI app.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    38
)
9f4ae6d2a995 Barebone CLI app.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    39
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    40
// Config holds our parameters
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    41
type Server struct {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    42
	ID          string `json:"id"`
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    43
	Name        string `json:"name"`
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    44
	BearerToken string `json:"bearer_token"`
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    45
	BaseURL     string `json:"base_url"` // Allow for overriding APIEndpoint on registration
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    46
}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    47
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    48
type Config struct {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    49
	Default string
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    50
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    51
	// Can be "oauth2", "basic"
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    52
	Auth string
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    53
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    54
	// If not using OAuth2
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    55
	User     string
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    56
	Password string
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    57
}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    58
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    59
func setupEnvironment(c *cli.Context) (err error) {
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    60
	var config Config
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    61
	var scopes []string
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    62
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    63
	if fInstance != "" {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    64
		InstanceName = basename(fInstance)
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    65
		APIEndpoint = filterURL(fInstance)
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    66
	}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    67
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    68
	if fAuthMethod != "" && authMethods[fAuthMethod] {
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    69
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    70
	}
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    71
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    72
	// Load configuration, will register if none is found
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    73
	cnf, err = LoadConfig(InstanceName)
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    74
	if err != nil {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    75
		// Nothing exist yet
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    76
		config := Config{
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    77
			Default:  InstanceName,
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    78
			Auth:     "basic",
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    79
			User:     "",
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    80
			Password: "",
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    81
		}
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
    83
		err = config.Write()
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    84
		if err != nil {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    85
			log.Fatalf("error: can not write config for %s", InstanceName)
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    86
		}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    87
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    88
		// Now register this through OAuth
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    89
		if fScopes != "" {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    90
			scopes = strings.Split(fScopes, " ")
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    91
		} else {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    92
			scopes = ourScopes
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    93
		}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    94
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    95
		instance, err = gondole.NewApp("gondole-cli", scopes, gondole.NoRedirect, fInstance)
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    96
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    97
		server := &Server{
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    98
			ID:          instance.ID,
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
    99
			Name:        instance.Name,
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   100
			BearerToken: instance.Secret,
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   101
			BaseURL:     instance.APIBase,
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   102
		}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   103
		err = server.WriteToken(InstanceName)
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   104
		if err != nil {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   105
			log.Fatalf("error: can not write token for %s", instance.Name)
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   106
		}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   107
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   108
		cnf := Config{
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   109
			Default: instance.Name,
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   110
		}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   111
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   112
		err = cnf.Write()
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   113
		if err != nil {
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   114
			log.Fatalf("error: can not write config for %s", instance.Name)
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   115
		}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   116
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   117
	}
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   118
	// Log in to the instance
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   119
	err = instance.Login()
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   120
38
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   121
	return err
24
a01761bc5837 Register() will be used to load the config & create on first run.
Ollivier Robert <roberto@keltia.net>
parents: 19
diff changeset
   122
}
a01761bc5837 Register() will be used to load the config & create on first run.
Ollivier Robert <roberto@keltia.net>
parents: 19
diff changeset
   123
a01761bc5837 Register() will be used to load the config & create on first run.
Ollivier Robert <roberto@keltia.net>
parents: 19
diff changeset
   124
func init() {
38
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   125
	cli.VersionFlag = cli.BoolFlag{Name: "version, V"}
19
9f4ae6d2a995 Barebone CLI app.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
   126
38
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   127
	cli.VersionPrinter = func(c *cli.Context) {
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   128
		log.Printf("API wrapper: %s Mastodon CLI: %s\n", c.App.Version, gondole.APIVersion)
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   129
	}
24
a01761bc5837 Register() will be used to load the config & create on first run.
Ollivier Robert <roberto@keltia.net>
parents: 19
diff changeset
   130
}
19
9f4ae6d2a995 Barebone CLI app.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
   131
24
a01761bc5837 Register() will be used to load the config & create on first run.
Ollivier Robert <roberto@keltia.net>
parents: 19
diff changeset
   132
func main() {
19
9f4ae6d2a995 Barebone CLI app.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
   133
38
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   134
	app := cli.NewApp()
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   135
	app.Name = "gondole"
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   136
	app.Usage = "Mastodon CLI interface"
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   137
	app.Author = "Ollivier Robert <roberto@keltia.net>"
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   138
	app.Version = gondole.APIVersion
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   139
	//app.HideVersion = true
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   140
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   141
	app.Before = setupEnvironment
24
a01761bc5837 Register() will be used to load the config & create on first run.
Ollivier Robert <roberto@keltia.net>
parents: 19
diff changeset
   142
38
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   143
	app.Flags = []cli.Flag{
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   144
		cli.StringFlag{
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   145
			Name:        "auth,A",
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   146
			Usage:       "authentication mode",
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   147
			Destination: &fAuthMethod,
38
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   148
		},
67
1ff7afce37fe Add a baseURL parameter to NewApp().
Ollivier Robert <roberto@keltia.net>
parents: 53
diff changeset
   149
		cli.StringFlag{
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   150
			Name:        "instance,I",
67
1ff7afce37fe Add a baseURL parameter to NewApp().
Ollivier Robert <roberto@keltia.net>
parents: 53
diff changeset
   151
			Usage:       "use that instance",
76
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   152
			Destination: &fInstance,
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   153
		},
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   154
		cli.StringFlag{
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   155
			Name:        "scopes,S",
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   156
			Usage:       "use these scopes",
dd9b9c02bfff Complete rewrite with config integration here.
Ollivier Robert <roberto@keltia.net>
parents: 67
diff changeset
   157
			Destination: &fScopes,
67
1ff7afce37fe Add a baseURL parameter to NewApp().
Ollivier Robert <roberto@keltia.net>
parents: 53
diff changeset
   158
		},
82
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   159
		cli.BoolFlag{
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   160
			Name:        "verbose,v",
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   161
			Usage:       "verbose mode",
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   162
			Destination: &fVerbose,
09f5e04b1b37 Begin auth support.
Ollivier Robert <roberto@keltia.net>
parents: 76
diff changeset
   163
		},
38
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   164
	}
8343e5264a9b Hook up the application registration + gofmt.
Ollivier Robert <roberto@keltia.net>
parents: 31
diff changeset
   165
	app.Run(os.Args)
5
cab58bf80778 Basic CLI-tool for testing.
Ollivier Robert <roberto@keltia.net>
parents:
diff changeset
   166
}