organizer/envvars.go

50 lines
1.3 KiB
Go
Raw Normal View History

2023-01-13 19:23:36 +01:00
package main
import (
"os/user"
2023-01-14 12:11:10 +01:00
"runtime"
2023-01-13 19:23:36 +01:00
"strconv"
2023-01-15 21:09:26 +01:00
"text/template"
"git.milar.in/nyaanime/logic"
2023-01-13 19:23:36 +01:00
"git.milar.in/milarin/envvars/v2"
)
var (
2023-01-15 21:09:26 +01:00
DownloadPath = envvars.String("DOWNLOAD_PATH", "")
ThreadCount = envvars.Int("THREADS", runtime.NumCPU())
2023-01-15 13:59:48 +01:00
DeleteLowPriorityFiles = envvars.Bool("DELETE_LOW_PRIORITY_FILES", false)
2023-01-15 21:09:26 +01:00
TelegramBotToken = envvars.String("TELEGRAM_API_TOKEN", "")
TelegramChatID = envvars.Int64("TELEGRAM_CHAT_ID", 0)
TelegramOrganizeMessagePatternStr = logic.EscSeqReplacer.Replace(envvars.String("TELEGRAM_ORGANIZE_MESSAGE_PATTERN", `Download finished\n\n{{.Title.UserPreferred}} episode {{.Episode}}`))
2023-01-16 00:46:47 +01:00
TelegramOrganizeMessagePattern = template.Must(template.New("TELEGRAM_ORGANIZE_MESSAGE_PATTERN").Parse(TelegramOrganizeMessagePatternStr))
2023-01-15 21:09:26 +01:00
2023-01-13 19:23:36 +01:00
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)
})
)