adding helper methods
This commit is contained in:
parent
4c88a05b82
commit
5083d3911b
42
settings.go
42
settings.go
@ -9,6 +9,7 @@ import (
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
@ -174,3 +175,44 @@ func ParseBool(value string) (bool, error) {
|
||||
return false, fmt.Errorf("cannot parse '%s' as bool", value)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Settings) GetStringOrDefault(key, defaultValue string) string {
|
||||
if got := s.GetKeyValue(key); len(got) > 0 {
|
||||
return got
|
||||
} else {
|
||||
return defaultValue
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Settings) GetBoolOrDefault(key string, defaultValue bool) bool {
|
||||
got := s.GetKeyValue(key)
|
||||
parsed, err := ParseBool(got)
|
||||
if err == nil {
|
||||
return parsed
|
||||
} else if len(got) > 0 {
|
||||
log.Printf("Settings::GetBoolOrDefault error parsing key %q value %q as bool: %v\n", key, got, err)
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
func (s *Settings) GetDurationOrDefault(key string, defaultValue time.Duration) time.Duration {
|
||||
got := s.GetKeyValue(key)
|
||||
dur, err := time.ParseDuration(got)
|
||||
if err == nil {
|
||||
return dur
|
||||
} else if len(got) > 0 {
|
||||
log.Printf("Settings::GetDurationOrDefault error parsing key %q value %q as time.Duration: %v\n", key, got, err)
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
func (s *Settings) GetIntOrDefault(key string, defaultValue int) int {
|
||||
got := s.GetKeyValue(key)
|
||||
n, err := strconv.Atoi(got)
|
||||
if err == nil {
|
||||
return n
|
||||
} else if len(got) > 0 {
|
||||
log.Printf("Settings::GetIntOrDefault error parsing key %q value %q as int: %v\n", key, got, err)
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user