accorder/cmd/commoners.go

67 lines
1.5 KiB
Go
Raw Normal View History

2021-10-30 23:25:44 +00:00
package cmd
import (
"encoding/json"
2021-10-30 23:25:44 +00:00
"fmt"
2021-11-18 22:46:07 +00:00
"github.com/kirsle/configdir"
2021-10-30 23:25:44 +00:00
"github.com/spf13/cobra"
"github.com/spf13/viper"
2021-11-18 22:46:07 +00:00
"os"
"path/filepath"
2021-10-30 23:25:44 +00:00
)
func CustomHelpOutput(cmd *cobra.Command) {
cmd.Flags().SortFlags = false
cmd.SetHelpTemplate(HelpTemplate)
cmd.SetUsageTemplate(UsageTemplate)
}
func ViperSettingsPrint() {
vipAll, err := json.MarshalIndent(viper.AllSettings(), "", " ")
if err != nil {
fmt.Println("error:", err)
2021-10-30 23:25:44 +00:00
}
fmt.Print(string(vipAll))
}
func CliFlagValue(cmd *cobra.Command, key string) (value string) {
value, _ = cmd.PersistentFlags().GetString(key)
return
}
func ViperValue(session, key string) string {
return viper.GetString(fmt.Sprintf("%s.%s", session, key))
}
func CheckProfile(cmd *cobra.Command, args []string) error {
hasProfile := false
// fmt.Println("VIPER:", viper.AllSettings())
for k, v := range viper.AllSettings() {
fmt.Println("VIPER KEY/VALUE:", k, v)
if k == args[0] {
hasProfile = true
}
}
if !hasProfile {
return fmt.Errorf("PROFILE %s should be added to the configuration file.\n", args[0])
2021-10-30 23:25:44 +00:00
}
return fmt.Errorf("MEH! %s should be added to the configuration file.\n", args[0])
2021-10-30 23:25:44 +00:00
}
2021-11-18 22:46:07 +00:00
func ConfigBaseDir() string {
return configdir.LocalConfig("akkorder")
}
func ConfigMinioDir() string {
return filepath.Join(ConfigBaseDir(), "minio")
}
func initConfigPaths() {
err := configdir.MakePath(ConfigBaseDir()) // Ensure it exists.
if err != nil {
panic(err)
}
os.MkdirAll(filepath.Join(ConfigBaseDir(), "minio"), 0777)
}