github.com/wtfutil/wtf@v0.43.0/modules/steam/settings.go (about) 1 package steam 2 3 import ( 4 "os" 5 6 "github.com/olebedev/config" 7 "github.com/wtfutil/wtf/cfg" 8 "github.com/wtfutil/wtf/utils" 9 ) 10 11 const ( 12 defaultFocusable = true 13 ) 14 15 type Settings struct { 16 *cfg.Common 17 18 numberOfResults int `help:"Number of rows to show. Default is 10." optional:"true"` 19 key string `help:"Steam API key (default is env var STEAM_API_KEY)"` 20 userIds []string `help:"Steam user ids" optional:"true"` 21 } 22 23 func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { 24 steam := ymlConfig.UString("steam") 25 settings := Settings{ 26 Common: cfg.NewCommonSettingsFromModule(name, steam, defaultFocusable, ymlConfig, globalConfig), 27 28 numberOfResults: ymlConfig.UInt("numberOfResults", 10), 29 key: ymlConfig.UString("key", os.Getenv("STEAM_API_KEY")), 30 userIds: utils.ToStrs(ymlConfig.UList("userIds", make([]interface{}, 0))), 31 } 32 return &settings 33 }