From c08aff21cd67cc27926a4cb1ca72ffe67e015ebf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Fri, 24 Apr 2020 00:22:19 +0200 Subject: Started caching --- main.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index de59f18..c4afc11 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,7 @@ import ( "os" "sync" + "github.com/Necoro/feed2imap-go/internal/cache" "github.com/Necoro/feed2imap-go/internal/config" "github.com/Necoro/feed2imap-go/internal/feed" "github.com/Necoro/feed2imap-go/internal/imap" @@ -15,6 +16,7 @@ import ( ) var cfgFile = flag.String("f", "config.yml", "configuration file") +var cacheFile = flag.String("c", "feed.cache", "cache file") var verbose = flag.Bool("v", false, "enable verbose output") func processFeed(feed *feed.Feed, cfg *config.Config, client *imap.Client, wg *sync.WaitGroup) { @@ -64,6 +66,11 @@ func run() error { return fmt.Errorf("No successfull feed fetch.") } + feedCache, err := cache.Read(*cacheFile) + if err != nil { + return err + } + imapUrl, err := url.Parse(cfg.Target) if err != nil { return fmt.Errorf("parsing 'target': %w", err) @@ -83,6 +90,10 @@ func run() error { } wg.Wait() + if err = cache.Store(*cacheFile, feedCache); err != nil { + return err + } + return nil } -- cgit v1.2.3