multiple content per fetcher
This commit is contained in:
@@ -4,30 +4,25 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
func getConfig() Config {
|
||||
intervalMinutes, err := strconv.Atoi(os.Getenv("INTERVAL_MINUTES"))
|
||||
if err != nil {
|
||||
intervalMinutes = 5
|
||||
}
|
||||
|
||||
return Config{
|
||||
WikiBaseURL: os.Getenv("WIKI_BASE_URL"),
|
||||
WikiToken: os.Getenv("WIKI_TOKEN"),
|
||||
RedmineBaseURL: os.Getenv("REDMINE_BASE_URL"),
|
||||
RedmineKey: os.Getenv("REDMINE_KEY"),
|
||||
GiteaToken: os.Getenv("GITEA_TOKEN"),
|
||||
GiteaBaseURL: os.Getenv("GITEA_BASE_URL"),
|
||||
GiteaRepos: strings.Split(os.Getenv("GITEA_REPOS"), ","),
|
||||
DiscordWebhook: os.Getenv("DISCORD_WEBHOOK"),
|
||||
DiscordFake: os.Getenv("DISCORD_FAKE") == "true",
|
||||
Interval: time.Duration(intervalMinutes) * time.Minute,
|
||||
WikiBaseURL: os.Getenv("WIKI_BASE_URL"),
|
||||
WikiToken: os.Getenv("WIKI_TOKEN"),
|
||||
WikiContentLimit: envToInteger("WIKI_CONTENT_LIMIT", 10),
|
||||
RedmineBaseURL: os.Getenv("REDMINE_BASE_URL"),
|
||||
RedmineKey: os.Getenv("REDMINE_KEY"),
|
||||
RedmineContentLimit: envToInteger("REDMINE_CONTENT_LIMIT", 10),
|
||||
GiteaToken: os.Getenv("GITEA_TOKEN"),
|
||||
GiteaBaseURL: os.Getenv("GITEA_BASE_URL"),
|
||||
GiteaRepos: strings.Split(os.Getenv("GITEA_REPOS"), ","),
|
||||
GiteaContentLimit: envToInteger("GITEA_CONTENT_LIMIT", 10),
|
||||
DiscordWebhook: os.Getenv("DISCORD_WEBHOOK"),
|
||||
DiscordFake: os.Getenv("DISCORD_FAKE") == "true",
|
||||
Interval: time.Duration(envToInteger("INTERVAL_MINUTES", 5)) * time.Minute,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,24 +30,27 @@ func getFetchers(config *Config, cache *Cache) []Fetcher {
|
||||
return []Fetcher{
|
||||
&GiteaFetcher{
|
||||
BaseFetcher: BaseFetcher{
|
||||
BaseURL: config.GiteaBaseURL,
|
||||
Token: config.GiteaToken,
|
||||
Cache: cache,
|
||||
BaseURL: config.GiteaBaseURL,
|
||||
Token: config.GiteaToken,
|
||||
Cache: cache,
|
||||
ContentLimit: config.GiteaContentLimit,
|
||||
},
|
||||
Repos: config.GiteaRepos,
|
||||
},
|
||||
&WikiFetcher{
|
||||
BaseFetcher: BaseFetcher{
|
||||
BaseURL: config.WikiBaseURL,
|
||||
Token: config.WikiToken,
|
||||
Cache: cache,
|
||||
BaseURL: config.WikiBaseURL,
|
||||
Token: config.WikiToken,
|
||||
Cache: cache,
|
||||
ContentLimit: config.WikiContentLimit,
|
||||
},
|
||||
},
|
||||
&RedmineFetcher{
|
||||
BaseFetcher: BaseFetcher{
|
||||
BaseURL: config.RedmineBaseURL,
|
||||
Token: config.RedmineKey,
|
||||
Cache: cache,
|
||||
BaseURL: config.RedmineBaseURL,
|
||||
Token: config.RedmineKey,
|
||||
Cache: cache,
|
||||
ContentLimit: config.RedmineContentLimit,
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -82,12 +80,6 @@ func getMessages(fetchers []Fetcher) []string {
|
||||
return messages
|
||||
}
|
||||
|
||||
func loadEnv() {
|
||||
if err := godotenv.Load(); err != nil {
|
||||
log.Println("Warning: .env file not found, using environment variables")
|
||||
}
|
||||
}
|
||||
|
||||
func Runner() {
|
||||
loadEnv()
|
||||
config := getConfig()
|
||||
|
||||
Reference in New Issue
Block a user