Initial commit.

This commit is contained in:
2026-08-05 12:06:46 +05:00
commit f37a1422e2
21 changed files with 1026 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
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()
}