ha-rgb-screen/internal/config/config.go

42 lines
755 B
Go

package config
import "flag"
type Config struct {
Url string
Delay int
Screen int
Delta float64
Verbose bool
Debug bool
Usage func()
}
func (c *Config) IsValid() bool {
if c.Url == "" {
return false
}
return true
}
func GetConfig() *Config {
url := flag.String("url", "", "Webhook URL")
delay := flag.Int("delay", 500, "Delay in ms")
screen := flag.Int("screen", 0, "Screen index")
delta := flag.Float64("delta", 7.0, "Delta")
verbose := flag.Bool("v", false, "Verbose mode")
debug := flag.Bool("debug", false, "Debug mode (no http request)")
flag.Parse()
return &Config{
Url: *url,
Delay: *delay,
Screen: *screen,
Delta: *delta,
Verbose: *verbose,
Debug: *debug,
Usage: flag.Usage,
}
}