本文整理汇总了Golang中github.com/denbeigh2000/goi3bar/config.Config.ParseConfig方法的典型用法代码示例。如果您正苦于以下问题:Golang Config.ParseConfig方法的具体用法?Golang Config.ParseConfig怎么用?Golang Config.ParseConfig使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/denbeigh2000/goi3bar/config.Config
的用法示例。
在下文中一共展示了Config.ParseConfig方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Build
func (b clockBuilder) Build(conf config.Config) (i3.Producer, error) {
c := Clock{}
err := conf.ParseConfig(&c)
if err != nil {
return nil, err
}
switch conf.Name {
case "":
c.Name = Identifier
default:
c.Name = conf.Name
}
switch c.Location {
case "":
c.Instance = "Local"
default:
c.Instance = c.Location
}
return &i3.BaseProducerClicker{
GeneratorClicker: &c,
Interval: 1 * time.Second,
Name: "time",
}, nil
}
示例2: Build
func (b CommandBuilder) Build(c config.Config) (p i3.Producer, err error) {
conf := Command{}
interval, err := time.ParseDuration(b.Interval)
if err != nil {
return
}
err = c.ParseConfig(&b)
if err != nil {
return
}
color, err := i3.ParseColor(b.Color)
if err != nil {
return
}
conf.Color = color
p = &i3.BaseProducer{
Generator: conf,
Interval: interval,
Name: Identifier,
}
return
}
示例3: Build
func (b cpuBuilder) Build(c config.Config) (p i3.Producer, err error) {
conf := cpuConfig{}
err = c.ParseConfig(&conf)
if err != nil {
return
}
interval, err := time.ParseDuration(conf.Interval)
if err != nil {
return
}
if b.perc {
p = &CpuPerc{
Name: "cpu_util",
WarnThreshold: conf.WarnThreshold,
CritThreshold: conf.CritThreshold,
Interval: interval,
}
} else {
p = &i3.BaseProducer{
Generator: &Cpu{
Name: "cpu_load",
WarnThreshold: conf.WarnThreshold,
CritThreshold: conf.CritThreshold,
},
Interval: interval,
}
}
return
}
示例4: Build
// Build implements config.Builder
func (b networkBuilder) Build(data config.Config) (p i3.Producer, err error) {
var c generalConfig
err = data.ParseConfig(&c)
if err != nil {
return
}
interval, err := time.ParseDuration(c.Interval)
if err != nil {
return
}
conf, err := buildNetworkConfig(c.Config)
if err != nil {
return
}
generator, err := conf.Device()
if err != nil {
return
}
p = &i3.BaseProducer{
Generator: generator,
Interval: interval,
Name: "network",
}
return
}
示例5: Build
func (b diskIOBuilder) Build(c config.Config) (p i3.Producer, err error) {
conf := diskIOConfig{}
err = c.ParseConfig(&conf)
if err != nil {
return
}
interval, err := time.ParseDuration(conf.Interval)
if err != nil {
return
}
return &DiskIOGenerator{
WarnThreshold: conf.WarnThreshold,
CritThreshold: conf.CritThreshold,
Interval: interval,
Items: conf.Items,
}, nil
}
示例6: Build
func (b diskUsageBuilder) Build(c config.Config) (p i3.Producer, err error) {
conf := diskUsageConfig{}
err = c.ParseConfig(&conf)
if err != nil {
return
}
interval, err := time.ParseDuration(conf.Interval)
if err != nil {
return
}
conf.Options.Name = Identifier
return &i3.BaseProducer{
Generator: conf.Options,
Interval: interval,
Name: "disk usage",
}, nil
}
示例7: Build
func (b batteryBuilder) Build(c config.Config) (i3.Producer, error) {
conf := batteryConfig{}
err := c.ParseConfig(&conf)
if err != nil {
return nil, err
}
interval, err := time.ParseDuration(conf.Interval)
if err != nil {
return nil, err
}
if ok := validateThreshold(conf.WarnThreshold); !ok {
return nil, fmt.Errorf(
"WarnThreshold for %v (%v) is outside acceptable range (0, 100)",
conf.Identifier, conf.WarnThreshold,
)
}
if ok := validateThreshold(conf.CritThreshold); !ok {
return nil, fmt.Errorf(
"CritThreshold for %v (%v) is outside acceptable range (0, 100)",
conf.Identifier, conf.CritThreshold,
)
}
bat := Battery{
Name: conf.Name,
Identifier: conf.Identifier,
WarnThreshold: conf.WarnThreshold,
CritThreshold: conf.CritThreshold,
}
return &i3.BaseProducer{
Generator: &bat,
Interval: interval,
Name: conf.Identifier + "_bat",
}, nil
}
示例8: Build
func (m memoryBuilder) Build(c config.Config) (Producer, error) {
conf := MemoryConfig{}
err := c.ParseConfig(&conf)
if err != nil {
return nil, err
}
interval, err := time.ParseDuration(conf.Interval)
if err != nil {
return nil, err
}
g := Memory{
Name: Identifier,
WarnThreshold: conf.WarnThreshold,
CritThreshold: conf.CritThreshold,
}
return &BaseProducer{
Generator: g,
Name: Identifier,
Interval: interval,
}, nil
}