diff options
Diffstat (limited to 'config.go')
| -rw-r--r-- | config.go | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -23,6 +23,34 @@ func (m *Portmaps) ConfigSave() error { return nil } +func ConfigLoad() *Portmaps { + if os.Getenv("CLOUD_HOME") == "" { + homeDir, _ := os.UserHomeDir() + fullpath := filepath.Join(homeDir, ".config/cloud") + os.Setenv("CLOUD_HOME", fullpath) + } + + var data []byte + var err error + if data, err = loadFile("gus.text"); err != nil { + log.Warn("gus.text failed to load", err) + // something went wrong loading the file + return nil + } + + if data == nil { + return nil + } + p := new(Portmaps) + if err = p.UnmarshalTEXT(data); err != nil { + log.Warn("unmarshal failed on gus.text config file", err) + return nil + } + + log.Log(INFO, "gus.ConfigLoad() has", p.Len(), "port mappings") + return p +} + func (m *Portmaps) ConfigLoad() error { if m == nil { return errors.New("It's not safe to run ConfigLoad() on a nil ?") |
