summaryrefslogtreecommitdiff
path: root/config.Load.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-21 04:48:54 -0500
committerJeff Carr <[email protected]>2025-10-21 04:48:54 -0500
commitff7faa8d6b1d845776e27f9c137923abd59684f2 (patch)
tree4e7a0bcc5234aae7a834c7617054dcf0b39ee974 /config.Load.go
parent5c4c1fcaf4e724573dd39b4d4fa0d600a9870221 (diff)
trying to get this to work again
Diffstat (limited to 'config.Load.go')
-rw-r--r--config.Load.go76
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