gosimpleconf/gosimpleconf.go

32 lines
613 B
Go

package gosimpleconf
import "os"
func Configure(filename string) (ConfigMap, error) {
var err error
configMap, err := ReadFile(filename)
if err != nil {
return nil, err
}
flagMap := SetupFlagOverrides(configMap)
configMap = ParseFlags(configMap, flagMap)
return configMap, nil
}
func ConfigureWithDefaults(filename string, defaultConf ConfigMap) (ConfigMap, error) {
var err error
_, err = os.Stat(filename)
if os.IsNotExist(err) {
// Config file does not exist, return a default configMap
return defaultConf, nil
} else if err != nil {
return nil, err
}
return Configure(filename)
}