imgsrv/config/config.go

51 lines
946 B
Go
Raw Normal View History

package config
import (
2013-03-27 20:30:24 +00:00
"io/ioutil"
"launchpad.net/goyaml"
)
type Config map[string]interface{}
// Of the configurations, provided option, return the value as a bool
func (c *Config) GetBool(option string) (value bool) {
2013-03-27 20:30:24 +00:00
conf := Config{}
conf = *c
switch conf[option] {
default:
value = false
case "yes", "on", "true":
value = true
}
return
}
// Of the configurations, provided option, return the value as a string
func (c *Config) GetString(option string) (value string) {
2013-03-27 20:30:24 +00:00
conf := Config{}
conf = *c
value, _ = conf[option].(string)
return
}
// Given a filename to a YAML file, unmarshal it, and return a Config
func ReadConfigFile(filename string) (config Config, err error) {
2013-03-27 20:30:24 +00:00
bytes, err := ioutil.ReadFile(filename)
if err != nil {
return
}
2013-03-27 20:30:24 +00:00
err = goyaml.Unmarshal(bytes, &config)
if err != nil {
return
}
2013-03-27 20:30:24 +00:00
return config, nil
}
/*
func WriteConfigFile(filename string, data []byte) (err error) {
2013-03-27 20:30:24 +00:00
return
}
*/