summaryrefslogtreecommitdiff
path: root/loadConfig.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-22 09:19:26 -0500
committerJeff Carr <[email protected]>2025-10-22 09:19:26 -0500
commit23b2d19bc03b4db253b15cc6fef7176ab31d4f18 (patch)
tree275cb2d3fc92cb5af997582c715f4619eb1d68d2 /loadConfig.go
parent820fa4b7e71690accbd17063894032140bd9c4b6 (diff)
finally can fix the Load() and Save() names
Diffstat (limited to 'loadConfig.go')
-rw-r--r--loadConfig.go176
1 files changed, 0 insertions, 176 deletions
diff --git a/loadConfig.go b/loadConfig.go
deleted file mode 100644
index 8c7cee8..0000000
--- a/loadConfig.go
+++ /dev/null
@@ -1,176 +0,0 @@
-package config
-
-import (
- "errors"
- "strings"
-
- "go.wit.com/lib/ENV"
- "go.wit.com/log"
- "google.golang.org/protobuf/proto"
-)
-
-// loads foo.proto from ~/.config/<appname>/foo.text
-func ConfigLoad(pb proto.Message) error {
- appname, err := ENV.GetAppname() // already configured by your application
- if err != nil {
- return err
- }
- protoname, err := GetProtobufName(pb) // defined in the foo.proto file
- if err != nil {
- return err
- }
-
- curfilename, err := GetFilename(pb)
- if err == nil {
- return err
- }
-
- // Get ~/.config/appname/protoname.text
- fullname := makeConfigFilename(appname, protoname)
-
- if err = loadTEXT(pb, fullname); err == nil {
- // If the config is old or broken, this sets the filename
- if curfilename != fullname {
- _, err := SetFilename(pb, fullname)
- if err != nil {
- log.Info("FILENAME COULD NOT BE SET old=", curfilename)
- log.Info("FILENAME COULD NOT BE SET new=", fullname)
- return errors.Join(err, errors.New("something is wrong in lib/config"))
- }
- }
- return nil
- } else {
- if strings.HasSuffix(fullname, ".text") {
- fulljson := fullname + ".json"
- // If the config is old or broken, this sets the filename
- if err := loadJSON(pb, fulljson); err == nil {
- if curfilename != fullname {
- _, err := SetFilename(pb, fullname)
- if err != nil {
- log.Info("FILENAME COULD NOT BE SET old=", curfilename)
- log.Info("FILENAME COULD NOT BE SET new=", fullname)
- return errors.Join(err, errors.New("something is wrong in lib/config"))
- }
- }
- return nil
- }
- }
- }
- return ErrMarshal
-}
-
-// loads foo.proto from ~/.config/<appname>/customName.text
-func ConfigLoadByName(pb proto.Message, customName string) (string, error) {
- if customName == "" {
- return "", errors.New("config.Load() customName can not be blank")
- }
- appname, err := ENV.GetAppname() // already configured by your application
- if err != nil {
- return "", err
- }
-
- // Get ~/.config/appname/customName.text
- fullname := makeConfigFilename(appname, customName)
-
- curfilename, err := GetFilename(pb)
- if err != nil {
- // pb doesn't have 'Filename'
- // probably try to load anyway?
- log.Info("ConfigLoadByName() FILENAME old=", curfilename)
- log.Info("ConfigLoadByName() FILENAME new=", fullname)
- log.Info("pb doesn't have 'Filename'")
- log.Printf("err = (%v)\n", err)
- panic("blah")
- // return fullname, err
- }
- if curfilename == "" {
- // log.Printf("ConfigLoadByName() read in %s\n", fullname)
- }
-
- if err = loadTEXT(pb, fullname); err == nil {
- // If the config is old or broken, this sets the filename
- if curfilename != fullname {
- _, err := SetFilename(pb, fullname)
- if err != nil {
- log.Info("FILENAME COULD NOT BE SET old=", curfilename)
- log.Info("FILENAME COULD NOT BE SET new=", fullname)
- return fullname, errors.Join(err, errors.New("something is wrong in lib/config"))
- }
- }
- return fullname, nil
- } else {
- if strings.HasSuffix(fullname, ".text") {
- fulljson := fullname + ".json"
- // If the config is old or broken, this sets the filename
- if err := loadJSON(pb, fulljson); err == nil {
- if curfilename != fullname {
- _, err := SetFilename(pb, fullname)
- if err != nil {
- log.Info("FILENAME COULD NOT BE SET old=", curfilename)
- log.Info("FILENAME COULD NOT BE SET new=", fullname)
- return fullname, errors.Join(err, errors.New("something is wrong in lib/config"))
- }
- }
- return fullname, nil
- }
- }
- }
- return fullname, ErrMarshal
-}
-
-func LoadByAppName(pb proto.Message, customName string, appName string) (string, error) {
- if customName == "" {
- return "", errors.New("config.LoadByAppName() customName can not be blank")
- }
- if appName == "" {
- return "", errors.New("config.LoadByAppName() appName can not be blank")
- }
-
- // Get ~/.config/appname/customName.text
- fullname := makeConfigFilename(appName, customName)
-
- curfilename, err := GetFilename(pb)
- if err != nil {
- // pb doesn't have 'Filename'
- // probably try to load anyway?
- log.Info("ConfigLoadByName() FILENAME old=", curfilename)
- log.Info("ConfigLoadByName() FILENAME new=", fullname)
- log.Info("pb doesn't have 'Filename'")
- log.Printf("err = (%v)\n", err)
- panic("blah")
- // return fullname, err
- }
- if curfilename == "" {
- // log.Printf("ConfigLoadByName() read in %s\n", fullname)
- }
-
- if err = loadTEXT(pb, fullname); err == nil {
- // If the config is old or broken, this sets the filename
- if curfilename != fullname {
- _, err := SetFilename(pb, fullname)
- if err != nil {
- log.Info("FILENAME COULD NOT BE SET old=", curfilename)
- log.Info("FILENAME COULD NOT BE SET new=", fullname)
- return fullname, errors.Join(err, errors.New("something is wrong in lib/config"))
- }
- }
- return fullname, nil
- } else {
- if strings.HasSuffix(fullname, ".text") {
- fulljson := fullname + ".json"
- // If the config is old or broken, this sets the filename
- if err := loadJSON(pb, fulljson); err == nil {
- if curfilename != fullname {
- _, err := SetFilename(pb, fullname)
- if err != nil {
- log.Info("FILENAME COULD NOT BE SET old=", curfilename)
- log.Info("FILENAME COULD NOT BE SET new=", fullname)
- return fullname, errors.Join(err, errors.New("something is wrong in lib/config"))
- }
- }
- return fullname, nil
- }
- }
- }
- return fullname, ErrMarshal
-}