From 0b4a32899afac954a9ee1b5012f6d484b9ed4733 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Wed, 4 Jul 2018 15:20:36 +0200 Subject: [PATCH] Correcly unserialize additional URL in yaml --- configs/yaml_serializer.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/configs/yaml_serializer.go b/configs/yaml_serializer.go index f4924e105f4..ac85fc4e175 100644 --- a/configs/yaml_serializer.go +++ b/configs/yaml_serializer.go @@ -32,6 +32,7 @@ package configs import ( "fmt" "io/ioutil" + "net/url" "github.com/sirupsen/logrus" yaml "gopkg.in/yaml.v2" @@ -42,7 +43,7 @@ type yamlConfig struct { ProxyManualConfig *yamlProxyConfig `yaml:"manual_configs,omitempty"` SketchbookPath string `yaml:"sketchbook_path,omitempty"` ArduinoDataFolder string `yaml:"arduino_data,omitempty"` - BoardsManager struct { + BoardsManager *struct { AdditionalURLS []string `yaml:"additional_urls,omitempty"` } `yaml:"board_manager"` } @@ -82,6 +83,16 @@ func LoadFromYAML(path string) error { ProxyPassword = ret.ProxyManualConfig.Password } } + if ret.BoardsManager != nil { + for _, rawurl := range ret.BoardsManager.AdditionalURLS { + url, err := url.Parse(rawurl) + if err != nil { + logrus.WithError(err).Warn("Error parsing config") + continue + } + BoardManagerAdditionalUrls = append(BoardManagerAdditionalUrls, url) + } + } return nil }