adding backup function

This commit is contained in:
afeiszli 2022-09-07 10:14:21 -04:00
parent 8eef12036d
commit 2865089ff0

View file

@ -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)
}
}