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  }