Initial commit.
This commit is contained in:
@@ -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()
|
||||
}
|
||||
Reference in New Issue
Block a user