diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-08-31 16:11:08 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2021-08-31 16:17:22 +0200 |
commit | 33d2f7ad62958addde4e115f96e53a8108110cf2 (patch) | |
tree | 2d1c9cf08185cd354d204e26c2bccd3741b0e792 /client/go/cmd/config.go | |
parent | 4600b2ce77ef3fad8bb7622a7d7363107e077bdd (diff) |
Extract print utils
Diffstat (limited to 'client/go/cmd/config.go')
-rw-r--r-- | client/go/cmd/config.go | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/client/go/cmd/config.go b/client/go/cmd/config.go index ca4e416a172..544c95aa9f1 100644 --- a/client/go/cmd/config.go +++ b/client/go/cmd/config.go @@ -79,16 +79,22 @@ func printOption(option string) { log.Printf("%s = %s", option, value) } -func configDir(application string) (string, error) { +func configDir(application string) string { home := os.Getenv("VESPA_CLI_HOME") if home == "" { var err error home, err = os.UserHomeDir() if err != nil { - return "", err + printErr(err, "Could not determine configuration directory") + return "" } } - return filepath.Join(home, ".vespa", application), nil + configDir := filepath.Join(home, ".vespa", application) + if err := os.MkdirAll(configDir, 0755); err != nil { + printErr(err, "Could not create config directory") + return "" + } + return configDir } func bindFlagToConfig(option string, command *cobra.Command) { @@ -96,10 +102,8 @@ func bindFlagToConfig(option string, command *cobra.Command) { } func readConfig() { - configDir, err := configDir("") - if err != nil { - log.Print(color.Red("Error:"), "Could not determine configuration directory") - log.Print(color.Brown(err)) + configDir := configDir("") + if configDir == "" { return } viper.SetConfigName(configName) @@ -109,13 +113,12 @@ func readConfig() { for option, command := range flagToConfigBindings { viper.BindPFlag(option, command.PersistentFlags().Lookup(option)) } - err = viper.ReadInConfig() + err := viper.ReadInConfig() if _, ok := err.(viper.ConfigFileNotFoundError); ok { return // Fine } if err != nil { - log.Print(color.Red("Error:"), "Could read configuration") - log.Print(color.Brown(err)) + printErr(err, "Could not read configuration") } } @@ -150,25 +153,28 @@ func setOption(option, value string) error { } func writeConfig() { - configDir, err := configDir("") - if err != nil { - log.Fatalf("Could not decide config directory: %s", color.Red(err)) + configDir := configDir("") + if configDir == "" { + return } if !util.PathExists(configDir) { if err := os.MkdirAll(configDir, 0700); err != nil { - log.Fatalf("Could not create %s: %s", color.Cyan(configDir), color.Red(err)) + printErr(err, "Could not create ", color.Cyan(configDir)) + return } } configFile := filepath.Join(configDir, configName+"."+configType) if !util.PathExists(configFile) { if _, err := os.Create(configFile); err != nil { - log.Fatalf("Could not create %s: %s", color.Cyan(configFile), color.Red(err)) + printErr(err, "Could not create ", color.Cyan(configFile)) + return } } if err := viper.WriteConfig(); err != nil { - log.Printf("Could not write config: %s", color.Red(err)) + printErr(err, "Could not write config") + return } } |