39 lines
631 B
Go
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)
|
||
|
})
|
||
|
)
|