organizer/envvars.go
2023-01-13 19:23:36 +01:00

39 lines
631 B
Go

package main
import (
"os/user"
"strconv"
"git.milar.in/milarin/envvars/v2"
)
var (
DownloadPath = envvars.String("DOWNLOAD_PATH", "")
Uid = envvars.Object("UID", 1000, func(s string) (int, error) {
if uid, err := strconv.Atoi(s); err == nil {
return uid, nil
}
usr, err := user.Lookup(s)
if err != nil {
return 0, err
}
return strconv.Atoi(usr.Uid)
})
Gid = envvars.Object("GID", 1000, func(s string) (int, error) {
if gid, err := strconv.Atoi(s); err == nil {
return gid, nil
}
grp, err := user.LookupGroup(s)
if err != nil {
return 0, err
}
return strconv.Atoi(grp.Gid)
})
)