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() }