From 4d0828def125f96d376cc1bd018bd3d8b0997901 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 26 Oct 2025 22:41:47 -0500 Subject: rearranging filenames --- SetGlobal.go | 22 ---------------------- appname.go | 24 ------------------------ exit.go | 11 ++++++++++- get.go | 38 ++++++++++++++++++++++++++++++++++++++ init.go | 11 ++++++++++- save.go | 51 --------------------------------------------------- set.go | 42 ++++++++++++++++++++++++++++++++++++++++++ true.go | 21 +++++++++++++++++++++ 8 files changed, 121 insertions(+), 99 deletions(-) delete mode 100644 SetGlobal.go delete mode 100644 appname.go create mode 100644 get.go create mode 100644 set.go create mode 100644 true.go diff --git a/SetGlobal.go b/SetGlobal.go deleted file mode 100644 index 8b19325..0000000 --- a/SetGlobal.go +++ /dev/null @@ -1,22 +0,0 @@ -package env - -import "errors" - -func SetGlobal(global string, varname string, newValue string) error { - if envPB == nil { - return NotInitialized - } - saveMu.Lock() - defer saveMu.Unlock() - found := envPB.FindByVar(varname) - if found != nil { - return errors.New("already set") - } - - newvar := new(Key) - newvar.Var = varname - newvar.Value = newValue - newvar.Global = global - envPB.Append(newvar) - return nil -} diff --git a/appname.go b/appname.go deleted file mode 100644 index 9fae527..0000000 --- a/appname.go +++ /dev/null @@ -1,24 +0,0 @@ -package env - -import ( - "errors" - "os/user" -) - -func GetAppname() (string, error) { - if APPNAME != "" { - return APPNAME, nil - } - return "", errors.New("your application must setup config.Init()") -} - -func GetUsername() string { - if Get("username") != "" { - return Get("username") - } - usr, _ := user.Current() - if usr.Username != "" { - return usr.Username - } - return "notsure" // OS Idiocracy -} diff --git a/exit.go b/exit.go index 364684e..fdaec8a 100644 --- a/exit.go +++ b/exit.go @@ -7,7 +7,7 @@ import "os" // argv normally sets these callbacks // argv has timing set from when os.Args was parsed -func GoodExit(reason string, err error) { +func GoodExit(reason string) { if goodExit != nil { goodExit(reason) } @@ -20,3 +20,12 @@ func BadExit(reason string, err error) { } os.Exit(-1) } + +func Exit(reason string, err error) { + if err == nil { + GoodExit(reason) + os.Exit(0) + } + BadExit(reason, err) + os.Exit(-1) +} diff --git a/get.go b/get.go new file mode 100644 index 0000000..e783b94 --- /dev/null +++ b/get.go @@ -0,0 +1,38 @@ +package env + +import ( + "errors" + "os/user" +) + +func Get(flag string) string { + saveMu.Lock() + defer saveMu.Unlock() + if envPB == nil { + return "" + } + c := findByLower(flag) + if c == nil { + return "" + } + + return c.Value +} + +func GetAppname() (string, error) { + if APPNAME != "" { + return APPNAME, nil + } + return "", errors.New("your application must setup config.Init()") +} + +func GetUsername() string { + if Get("username") != "" { + return Get("username") + } + usr, _ := user.Current() + if usr.Username != "" { + return usr.Username + } + return "notsure" // OS Idiocracy +} diff --git a/init.go b/init.go index e7130c0..2db551c 100644 --- a/init.go +++ b/init.go @@ -2,6 +2,7 @@ package env import ( "os" + "os/user" "path/filepath" "strings" ) @@ -29,9 +30,17 @@ func Init(appname, version, buildtime string, fromargv []string, goodFunc func(s SetGlobal("lib/env", "APPNAME", APPNAME) SetGlobal("lib/env", "VERSION", VERSION) SetGlobal("lib/env", "BUILDTIME", BUILDTIME) + usr, err := user.Current() + if err == nil { + SetGlobal("lib/env", "username", usr.Username) + } + homeDir, err := os.UserHomeDir() + if err == nil { + SetGlobal("lib/env", "homeDir", homeDir) + } } -// if it exists, loads ~/.config//.env +// if it exists, loads ~/.config//rc func loadAppENV() error { saveMu.Lock() saveMu.Unlock() diff --git a/save.go b/save.go index 36e20d5..351b665 100644 --- a/save.go +++ b/save.go @@ -2,7 +2,6 @@ package env import ( "os" - "strings" ) // saves your applications config file @@ -23,53 +22,3 @@ func saveENVnolock(filename string) error { } return os.WriteFile(filename, []byte(outENV), 0644) } - -func Get(flag string) string { - saveMu.Lock() - defer saveMu.Unlock() - if envPB == nil { - return "" - } - c := findByLower(flag) - if c == nil { - return "" - } - - return c.Value -} - -func True(flag string) bool { - saveMu.Lock() - defer saveMu.Unlock() - if envPB == nil { - return false - } - found := envPB.FindByVar(flag) - if found == nil { - return false - } - if strings.ToLower(found.Value) == "true" { - return true - } - return false -} - -func Set(varname string, newValue string) error { - saveMu.Lock() - defer saveMu.Unlock() - if envPB == nil { - return NotInitialized - } - found := envPB.FindByVar(varname) - if found != nil { - found.Value = newValue - saveENVnolock(envPB.Filename) - } - - newvar := new(Key) - newvar.Var = varname - newvar.Value = newValue - envPB.Append(newvar) - saveENVnolock(envPB.Filename) - return nil -} diff --git a/set.go b/set.go new file mode 100644 index 0000000..fd3e5a0 --- /dev/null +++ b/set.go @@ -0,0 +1,42 @@ +package env + +import "errors" + +func SetGlobal(global string, varname string, newValue string) error { + if envPB == nil { + return NotInitialized + } + saveMu.Lock() + defer saveMu.Unlock() + found := envPB.FindByVar(varname) + if found != nil { + return errors.New("already set") + } + + newvar := new(Key) + newvar.Var = varname + newvar.Value = newValue + newvar.Global = global + envPB.Append(newvar) + return nil +} + +func Set(varname string, newValue string) error { + saveMu.Lock() + defer saveMu.Unlock() + if envPB == nil { + return NotInitialized + } + found := envPB.FindByVar(varname) + if found != nil { + found.Value = newValue + saveENVnolock(envPB.Filename) + } + + newvar := new(Key) + newvar.Var = varname + newvar.Value = newValue + envPB.Append(newvar) + saveENVnolock(envPB.Filename) + return nil +} diff --git a/true.go b/true.go new file mode 100644 index 0000000..927a77d --- /dev/null +++ b/true.go @@ -0,0 +1,21 @@ +package env + +import ( + "strings" +) + +func True(flag string) bool { + saveMu.Lock() + defer saveMu.Unlock() + if envPB == nil { + return false + } + found := envPB.FindByVar(flag) + if found == nil { + return false + } + if strings.ToLower(found.Value) == "true" { + return true + } + return false +} -- cgit v1.2.3