package football import ( "os" "github.com/olebedev/config" "github.com/wtfutil/wtf/cfg" ) const ( defaultFocusable = true defaultTitle = "football" ) type Settings struct { common *cfg.Common apiKey string `help:"Your Football-data API token."` league string `help:"Name of the competition. For example PL"` favTeam string `help:"Teams to follow in mentioned league"` matchesFrom int `help:"Matches till Today (Today - Number of days), Default: 2"` matchesTo int `help:"Matches from Today (Today + Number of days), Default: 5"` standingCount int `help:"Top N number of teams in standings, Default: 5"` } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_FOOTBALL_API_KEY"))), league: ymlConfig.UString("league", ymlConfig.UString("league", os.Getenv("WTF_FOOTBALL_LEAGUE"))), favTeam: ymlConfig.UString("favTeam", ymlConfig.UString("favTeam", os.Getenv("WTF_FOOTBALL_TEAM"))), matchesFrom: ymlConfig.UInt("matchesFrom", 5), matchesTo: ymlConfig.UInt("matchesTo", 5), standingCount: ymlConfig.UInt("standingCount", 5), } cfg.ModuleSecret(name, globalConfig, &settings.apiKey).Load() return &settings }