mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-12 15:51:01 +00:00
added string arrays and defaults
This commit is contained in:
parent
e1c7e3c0ca
commit
e2371b2de5
1 changed files with 69 additions and 1 deletions
|
|
@ -8,6 +8,8 @@ import (
|
|||
"sync"
|
||||
|
||||
"launchpad.net/goyaml"
|
||||
"github.com/davecgh/go-spew/spew"
|
||||
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
|
|
@ -39,6 +41,27 @@ func GetString(key string) string {
|
|||
return config.GetString(key)
|
||||
}
|
||||
|
||||
func GetStringArray(key string) []string {
|
||||
return config.GetStringArray(key)
|
||||
}
|
||||
func GetStringArrayDefault(key string,def []string) []string {
|
||||
res,ok = config.GetStringArray(key)
|
||||
|
||||
if ! ok{
|
||||
return def
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
func GetStringDefault(key string, default_value string) string {
|
||||
return config.GetStringDefault(key, default_value)
|
||||
}
|
||||
|
||||
func GetIntDefault(key string, default_value int) int {
|
||||
return config.GetIntDefault(key, default_value)
|
||||
}
|
||||
|
||||
|
||||
func NewConfig(filename string) *Config {
|
||||
self := Config{}
|
||||
self.config = make(map[string]interface{})
|
||||
|
|
@ -62,9 +85,15 @@ func (self *Config) load() error {
|
|||
}
|
||||
data, err := ioutil.ReadFile(config_file)
|
||||
if err != nil {
|
||||
|
||||
return errors.New("Problem with config file: " + err.Error())
|
||||
}
|
||||
goyaml.Unmarshal(data, self.config)
|
||||
|
||||
err=goyaml.Unmarshal(data, self.config)
|
||||
if err != nil{
|
||||
println(err.Error())
|
||||
|
||||
}
|
||||
self.loaded = true
|
||||
return nil
|
||||
}
|
||||
|
|
@ -94,6 +123,29 @@ func (self *Config) GetInt(key string) int {
|
|||
}
|
||||
return 0
|
||||
}
|
||||
func (self *Config) GetIntDefault(key string, default_value int) int {
|
||||
value, ok := self.GetSafe(key)
|
||||
if ok {
|
||||
value_int, ok := value.(int)
|
||||
if ok {
|
||||
return value_int
|
||||
}
|
||||
}
|
||||
return default_value
|
||||
}
|
||||
|
||||
|
||||
func (self *Config) GetStringDefault(key string, default_value string) string {
|
||||
value, ok := self.GetSafe(key)
|
||||
if ok {
|
||||
value_string, ok := value.(string)
|
||||
if ok {
|
||||
return value_string
|
||||
}
|
||||
}
|
||||
return default_value
|
||||
}
|
||||
|
||||
|
||||
func (self *Config) GetString(key string) string {
|
||||
value, ok := self.GetSafe(key)
|
||||
|
|
@ -105,3 +157,19 @@ func (self *Config) GetString(key string) string {
|
|||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
|
||||
|
||||
func (self *Config) GetStringArray(key string) ([]string,bool){
|
||||
value, ok := self.GetSafe(key)
|
||||
|
||||
if ok {
|
||||
var results []string
|
||||
for _,v:= range value.([]interface{}){
|
||||
results=append(results,v.(string))
|
||||
}
|
||||
return results
|
||||
}
|
||||
return []string{},ok
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue