diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-05-01 21:39:37 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-05-01 21:39:37 +0200 |
commit | 04a4897b69f9a10bdea27fb1133bcab71c40b687 (patch) | |
tree | dbe438199c33439d7731f9fc9e5d565ce0b6418b /internal | |
parent | 9990266256b8859b3d500ff0fc0fcee6e1e64193 (diff) | |
download | feed2imap-go-04a4897b69f9a10bdea27fb1133bcab71c40b687.tar.gz feed2imap-go-04a4897b69f9a10bdea27fb1133bcab71c40b687.tar.bz2 feed2imap-go-04a4897b69f9a10bdea27fb1133bcab71c40b687.zip |
Config option 'max-failures'
Diffstat (limited to 'internal')
-rw-r--r-- | internal/feed/cache.go | 2 | ||||
-rw-r--r-- | internal/feed/cache_v1.go | 4 | ||||
-rw-r--r-- | internal/feed/parse.go | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/internal/feed/cache.go b/internal/feed/cache.go index 0b2f905..f1dfb77 100644 --- a/internal/feed/cache.go +++ b/internal/feed/cache.go @@ -25,7 +25,7 @@ type Cache interface { type CachedFeed interface { Checked(withFailure bool) - Failures() uint + Failures() int Last() time.Time filterItems(items []feeditem, ignoreHash bool, alwaysNew bool) []feeditem Commit() diff --git a/internal/feed/cache_v1.go b/internal/feed/cache_v1.go index 37a4773..5f8c8f4 100644 --- a/internal/feed/cache_v1.go +++ b/internal/feed/cache_v1.go @@ -25,7 +25,7 @@ type v1Cache struct { type cachedFeed struct { LastCheck time.Time currentCheck time.Time - NumFailures uint // can't be named `Failures` b/c it'll collide with the interface + NumFailures int // can't be named `Failures` b/c it'll collide with the interface Items []cachedItem newItems []cachedItem } @@ -67,7 +67,7 @@ func (cf *cachedFeed) Commit() { cf.LastCheck = cf.currentCheck } -func (cf *cachedFeed) Failures() uint { +func (cf *cachedFeed) Failures() int { return cf.NumFailures } diff --git a/internal/feed/parse.go b/internal/feed/parse.go index fe3374a..1ce6cda 100644 --- a/internal/feed/parse.go +++ b/internal/feed/parse.go @@ -65,6 +65,10 @@ func handleFeed(feed *Feed) { err := parseFeed(feed) if err != nil { - log.Error(err) + if feed.cached.Failures() >= feed.Global.MaxFailures { + log.Error(err) + } else { + log.Print(err) + } } } |