diff options
| author | Jeff Carr <[email protected]> | 2025-10-21 04:48:54 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-21 04:48:54 -0500 |
| commit | ff7faa8d6b1d845776e27f9c137923abd59684f2 (patch) | |
| tree | 4e7a0bcc5234aae7a834c7617054dcf0b39ee974 /config.Load.go | |
| parent | 5c4c1fcaf4e724573dd39b4d4fa0d600a9870221 (diff) | |
trying to get this to work again
Diffstat (limited to 'config.Load.go')
| -rw-r--r-- | config.Load.go | 76 |
1 files changed, 70 insertions, 6 deletions
diff --git a/config.Load.go b/config.Load.go index b960508..abedc6a 100644 --- a/config.Load.go +++ b/config.Load.go @@ -5,33 +5,97 @@ import ( "os" "os/user" "path/filepath" + "strings" + + "go.wit.com/log" ) // loads your applications config file from // ~/.config/<appname>/config.text func (pb *Config) Load() error { - appname, err := GetAppname() // already configured by your application + filename, err := getConfigFilenameTEXT() if err != nil { return err } - configdir, err := getConfigDir() + _, err = SetFilename(pb, filename) if err != nil { return err } - filename := filepath.Join(configdir, appname+".text") - _, err = SetFilename(pb, filename) + saveMu.Lock() + defer saveMu.Unlock() + err = loadTEXT(pb, filename) + return err +} + +func loadENV() error { + if configPB != nil { + log.Info("configPB already loaded") + return errors.New("configPB already loaded") + } + filename, err := getConfigFilenameENV() + if err != nil { + return err + } + log.Info("loadENV()", filename) + stuff, err := os.ReadFile(filename) if err != nil { return err } - saveMu.Lock() defer saveMu.Unlock() - err = loadTEXT(pb, filename) + configPB = NewConfigs() + for i, line := range strings.Split(string(stuff), "\n") { + line = strings.TrimSpace(line) + if line == "" { + continue + } + parts := strings.Split(line, "=") + if len(parts) != 2 { + log.Info("INVALID LINE:", i, line) + continue + } + c := new(Config) + c.Key = parts[0] + c.Value = parts[1] + configPB.Append(c) + log.Printf("ENV LINE: (%v)\n", c) + } + return err } +func getConfigFilenameENV() (string, error) { + appname, err := GetAppname() // already configured by your application + if err != nil { + return "", err + } + + configdir, err := getConfigDir() + if err != nil { + return "", err + } + + filename := filepath.Join(configdir, appname+".ENV") + return filename, nil +} + +func getConfigFilenameTEXT() (string, error) { + appname, err := GetAppname() // already configured by your application + if err != nil { + return "", err + } + + configdir, err := getConfigDir() + if err != nil { + return "", err + } + + filename := filepath.Join(configdir, appname+".text") + return filename, nil +} + func GetAppname() (string, error) { if APPNAME != "" { return APPNAME, nil |
