Files
2026-08-05 12:06:46 +05:00

49 lines
977 B
Go

package main
import (
"flag"
"log/slog"
"os"
"go.dev.pztrn.name/rsser/configuration"
"go.dev.pztrn.name/rsser/outputs"
"go.dev.pztrn.name/rsser/outputs/nntp"
"go.dev.pztrn.name/rsser/outputs/stdout"
"go.dev.pztrn.name/rsser/rss"
)
var configPath string
func main() {
slog.Info("Starting parsing RSS feeds...")
flag.StringVar(&configPath, "config", "", "Full path to configuration file.")
flag.Parse()
cfg, err := configuration.New(configPath)
if err != nil {
slog.Error("Failed to create config controller!", "error", err.Error())
os.Exit(1)
}
outs := make([]outputs.Output, 0, 1)
outs = append(outs, stdout.New())
nntpClient, err := nntp.New(cfg)
if err != nil {
slog.Error("Failed to initialize NNTP outputter!", "error", err.Error())
os.Exit(1)
}
outs = append(outs, nntpClient)
rsser, err := rss.New(cfg, outs)
if err != nil {
slog.Error("Failed to create RSS controller!", "error", err.Error())
os.Exit(1)
}
rsser.Parse()
}