From 2865089ff026181812e307e3b1e3d94c3fafab97 Mon Sep 17 00:00:00 2001 From: afeiszli Date: Wed, 7 Sep 2022 10:14:21 -0400 Subject: [PATCH] adding backup function --- netclient/config/config.go | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/netclient/config/config.go b/netclient/config/config.go index 35046a9c4..5a4dd6cbf 100644 --- a/netclient/config/config.go +++ b/netclient/config/config.go @@ -95,28 +95,42 @@ func (config *ClientConfig) ConfigFileExists() bool { // ClientConfig.ReadConfig - used to read config from client disk into memory func (config *ClientConfig) ReadConfig() { - nofile := false + network := config.Network + if network == "" { + return + } + //home, err := homedir.Dir() home := ncutils.GetNetclientPathSpecific() - file := fmt.Sprintf(home + "netconfig-" + config.Network) + file := fmt.Sprintf(home + "netconfig-" + network) //f, err := os.Open(file) f, err := os.OpenFile(file, os.O_RDONLY, 0600) if err != nil { logger.Log(1, "trouble opening file: ", err.Error()) - nofile = true - //fmt.Println("Could not access " + home + "/.netconfig, proceeding...") + if err = ReplaceWithBackup(network); err != nil { + log.Fatal(err) + } + f.Close() + f, err = os.Open(file) + if err != nil { + log.Fatal(err) + } + } defer f.Close() - - //var cfg ClientConfig - - if !nofile { - decoder := yaml.NewDecoder(f) - err = decoder.Decode(&config) + if err := yaml.NewDecoder(f).Decode(&config); err != nil { + logger.Log(0, "no config or invalid, replacing with backup") + if err = ReplaceWithBackup(network); err != nil { + log.Fatal(err) + } + f.Close() + f, err = os.Open(file) if err != nil { - fmt.Println("no config or invalid") - fmt.Println(err) + log.Fatal(err) + } + defer f.Close() + if err := yaml.NewDecoder(f).Decode(&config); err != nil { log.Fatal(err) } }