mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Rather than referencing wtc.Config, instead pass the global config Also, look up config for the module early and pass that in sooner, to deal with fewer long paths and get rid of the ConfigKey variable
44 lines
963 B
Go
44 lines
963 B
Go
package clocks
|
|
|
|
import (
|
|
"github.com/olebedev/config"
|
|
"github.com/wtfutil/wtf/cfg"
|
|
"github.com/wtfutil/wtf/wtf"
|
|
)
|
|
|
|
const configKey = "clocks"
|
|
|
|
type colors struct {
|
|
rows struct {
|
|
even string
|
|
odd string
|
|
}
|
|
}
|
|
|
|
type Settings struct {
|
|
colors
|
|
common *cfg.Common
|
|
|
|
dateFormat string
|
|
timeFormat string
|
|
locations map[string]interface{}
|
|
sort string
|
|
}
|
|
|
|
func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings {
|
|
|
|
settings := Settings{
|
|
common: cfg.NewCommonSettingsFromModule(name, ymlConfig, globalConfig),
|
|
|
|
dateFormat: ymlConfig.UString("dateFormat", wtf.SimpleDateFormat),
|
|
timeFormat: ymlConfig.UString("timeFormat", wtf.SimpleTimeFormat),
|
|
locations: ymlConfig.UMap("locations"),
|
|
sort: ymlConfig.UString("sort"),
|
|
}
|
|
|
|
settings.colors.rows.even = ymlConfig.UString("colors.rows.even", "white")
|
|
settings.colors.rows.odd = ymlConfig.UString("colors.rows.odd", "blue")
|
|
|
|
return &settings
|
|
}
|