all repos

rss-tools @ 65589de

get rss feed from sources that(i need and) dont provide one

rss-tools/main.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
add musicfeed, 14 days ago
1
package main
2
3
import (
4
	"context"
5
	"flag"
6
7
	"go.etcd.io/bbolt"
8
	"olexsmir.xyz/rss-tools/app"
9
	"olexsmir.xyz/rss-tools/sources/moviefeed"
10
	"olexsmir.xyz/rss-tools/sources/musicfeed"
11
	"olexsmir.xyz/rss-tools/sources/telegram"
12
	"olexsmir.xyz/rss-tools/sources/weather"
13
	"olexsmir.xyz/rss-tools/sources/ztoe"
14
)
15
16
func main() {
17
	var cfgPath, dbPath string
18
	flag.StringVar(&cfgPath, "config", "./config.json", "Path to config file")
19
	flag.StringVar(&dbPath, "db", "./db", "Path to local database")
20
	flag.Parse()
21
22
	if err := run(context.Background(), cfgPath, dbPath); err != nil {
23
		panic(err)
24
	}
25
}
26
27
func run(ctx context.Context, cfgPath, dbPath string) error {
28
	db, err := bbolt.Open(dbPath, 0o600, nil)
29
	if err != nil {
30
		return err
31
	}
32
	defer db.Close()
33
34
	cfg, err := app.NewConfig(cfgPath)
35
	if err != nil {
36
		return err
37
	}
38
39
	app := app.New(cfg, db)
40
	_ = ztoe.Register(app)
41
	_ = telegram.Register(app)
42
	_ = moviefeed.Register(app)
43
	_ = musicfeed.Register(app)
44
	_ = weather.Register(app)
45
46
	return app.Start(ctx)
47
}