[config] config:get exit with status 1 if key is not set in env

This commit is contained in:
Alex Quick
2017-07-18 00:06:49 -04:00
parent a137ed64dc
commit be5e81b246
2 changed files with 18 additions and 1 deletions

View File

@@ -17,6 +17,20 @@ func GetWithDefault(appName string, key string, defaultValue string) string {
return env.GetDefault(key, defaultValue)
}
//HasKey determines if the config given by appName has a value for the given key
func HasKey(appName string, key string) bool {
env, err := loadConfig(appName)
if err != nil {
return false
}
for _, v := range env.Keys() {
if v == key {
return true
}
}
return false
}
//SetMany variables in the environment. If appName is empty the global config is used. If restart is true the app is restarted.
func SetMany(appName string, entries map[string]string, restart bool) {
global := appName == ""

View File

@@ -24,8 +24,11 @@ func main() {
if len(keys) == 0 {
common.LogFail("Expected: key")
}
value := config.GetWithDefault(appName, keys[0], "")
if !config.HasKey(appName, keys[0]) {
os.Exit(1)
}
value := config.GetWithDefault(appName, keys[0], "")
if *quoted {
fmt.Printf("'%s'", configenv.SingleQuoteEscape(value))
} else {