From 65b8fb514db9fc5125494b3393699bf666ed9cb2 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Thu, 24 May 2018 23:19:26 -0400 Subject: Get lat/long from config file --- config.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 config.go (limited to 'config.go') diff --git a/config.go b/config.go new file mode 100644 index 0000000..a12a240 --- /dev/null +++ b/config.go @@ -0,0 +1,39 @@ +package main + +import ( + "io/ioutil" + "log" + + "github.com/BurntSushi/xdg" + "gopkg.in/yaml.v2" +) + +const XDG_CONFIG_NAME = "phlux" + +type PhluxConfig struct { + Latitude float64 `yaml:"latitude"` + Longitude float64 `yaml:"longitude"` + Bridges []struct { + BridgeID string `yaml:"id"` + Token string `yaml:"token"` + } `yaml:"bridges"` +} + +func (c *PhluxConfig) Read() { + var paths xdg.Paths + configFile, err := paths.ConfigFile(XDG_CONFIG_NAME) + if err != nil { + log.Printf("No config file found: %s\n", err.Error()) + return + } + yamlFile, err := ioutil.ReadFile(configFile) + if err != nil { + log.Printf("Error reading config file %s: %s\n", configFile, err.Error()) + return + } + err = yaml.Unmarshal(yamlFile, c) + if err != nil { + log.Printf("Error unmarshalling yaml: %s\n", err.Error()) + return + } +} -- cgit v1.2.3