package main import ( "os/user" "runtime" "strconv" "text/template" "git.milar.in/nyaanime/logic" "git.milar.in/milarin/envvars/v2" ) var ( DownloadPath = envvars.String("DOWNLOAD_PATH", "") ThreadCount = envvars.Int("THREADS", runtime.NumCPU()) DeleteLowPriorityFiles = envvars.Bool("DELETE_LOW_PRIORITY_FILES", false) TelegramBotToken = envvars.String("TELEGRAM_API_TOKEN", "") TelegramChatID = envvars.Int64("TELEGRAM_CHAT_ID", 0) TelegramOrganizeMessagePatternStr = logic.EscSeqReplacer.Replace(envvars.String("TELEGRAM_ORGANIZE_MESSAGE_PATTERN", `Recently Downloaded Animes ({{len .}} eps){{range .}}\n{{.Anime.Title.UserPreferred}} Episode {{.Episode}}{{end}}`)) TelegramOrganizeMessagePattern = template.Must(template.New("TELEGRAM_ORGANIZE_MESSAGE_PATTERN").Parse(TelegramOrganizeMessagePatternStr)) TelegramOrganizeMessageSendCondition = envvars.ObjectSlice("TELEGRAM_ORGANIZE_MESSAGE_SEND_CONDITION", ",", []SendCondition{SendConditionAlways}, SendConditionFromString) TelegramOrganizeMessageSendInterval = envvars.Duration("TELEGRAM_ORGANIZE_MESSAGE_SEND_INTERVAL", 0) TelegramOrganizeMessageSendOffset = envvars.Duration("TELEGRAM_ORGANIZE_MESSAGE_SEND_OFFSET", 0) 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) }) )