package logic import ( "html/template" "math" "git.milar.in/milarin/anilist" "git.milar.in/milarin/envvars/v2" "git.milar.in/nyaanime/model" ) var ( AnilistUsername = envvars.String("ANILIST_USERNAME", "username") AnilistAccessToken = envvars.String("ANILIST_TOKEN", "") StoragePath = envvars.String("STORAGE_PATH", "") StorageUser = envvars.String("STORAGE_USERNAME", "") StoragePass = envvars.String("STORAGE_PASSWORD", "") AnimePath = envvars.String("ANIME_PATH", "") AnimeEpFilepathPatternStr = envvars.String("EPISODE_FILEPATH_PATTERN", `{{.Anime.Title.UserPreferred}}/{{.Anime.Title.UserPreferred}} Episode {{.Episode}}.{{.Ext}}`) AnimeEpFilepathPattern = template.Must(template.New("EPISODE_FILEPATH_PATTERN").Parse(AnimeEpFilepathPatternStr)) // essential torrent properties MaxResolution = envvars.Object("MAX_RESOLUTION", model.Resolution4K, model.ParseResolution) MinResolution = envvars.Object("MIN_RESOLUTION", model.ResolutionHD, model.ParseResolution) EssentialLanguages = envvars.StringSlice("ESSENTIAL_LANGUAGES", "|", []string{}) EssentialSubtitles = envvars.StringSlice("ESSENTIAL_SUBTITLES", "|", []string{}) MaxSeeders = envvars.Int("MAX_SEEDERS", math.MaxInt) MinSeeders = envvars.Int("MIN_SEEDERS", 0) MaxLeechers = envvars.Int("MAX_LEECHERS", math.MaxInt) MinLeechers = envvars.Int("MIN_LEECHERS", 0) MaxDownloads = envvars.Int("MAX_DOWNLOADS", math.MaxInt) MinDownloads = envvars.Int("MIN_DOWNLOADS", 0) TrustedOnly = envvars.Bool("TRUSTED_ONLY", false) // preferred torrent properties PreferredLanguages = ParsePreferredStringProps(envvars.StringSlice("PREFERRED_LANGUAGES", "|", []string{})) PreferredSubtitles = ParsePreferredStringProps(envvars.StringSlice("PREFERRED_SUBTITLES", "|", []string{})) PreferredResolutions = ParsePreferredProps(envvars.StringSlice("PREFERRED_RESOLUTIONS", "|", []string{}), model.ParseResolution) AnimeStatuses = envvars.ObjectSlice("ANIME_STATUSES", ",", []anilist.MediaListStatus{ anilist.MediaListStatusCurrent, anilist.MediaListStatusPlanning, }, ParseMediaListStatus) /* TODO better idea? implementation in torrent_sort.go (sort.Slice) PreferredTorrents = envvars.StringSlice("PREFERRED_TORRENTS", []string{"seeders", "subtitles", "languages", "downloads"}) old idea? PreferMoreLanguages = envvars.Bool("PREFERER_MORE_LANGUAGES", false) PreferMoreSubtitles = envvars.Bool("PREFERER_MORE_SUBTITLES", false) PreferMoreSeeders = envvars.Bool("PREFERER_MORE_SEEDERS", false) PreferMoreDownloads = envvars.Bool("PREFERER_MORE_DOWNLOADS", false) */ )