aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/cache_v1.go
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2020-04-26 18:12:55 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2020-04-26 18:12:55 +0200
commite4871e3834397e34a83a8df62dafe5a0875555ae (patch)
tree55aa8c070ee93110569bd9065033435929f7cbba /internal/feed/cache_v1.go
parentac568556e41231e07dd55b1d79675064ef4fed7b (diff)
downloadfeed2imap-go-e4871e3834397e34a83a8df62dafe5a0875555ae.tar.gz
feed2imap-go-e4871e3834397e34a83a8df62dafe5a0875555ae.tar.bz2
feed2imap-go-e4871e3834397e34a83a8df62dafe5a0875555ae.zip
Option `always-new`
Diffstat (limited to 'internal/feed/cache_v1.go')
-rw-r--r--internal/feed/cache_v1.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/internal/feed/cache_v1.go b/internal/feed/cache_v1.go
index 45182dc..0e43eab 100644
--- a/internal/feed/cache_v1.go
+++ b/internal/feed/cache_v1.go
@@ -171,7 +171,7 @@ func (cf *cachedFeed) deleteItem(index int) {
cf.Items = cf.Items[:len(cf.Items)-1]
}
-func (cf *cachedFeed) filterItems(items []feeditem, ignoreHash bool) []feeditem {
+func (cf *cachedFeed) filterItems(items []feeditem, ignoreHash, alwaysNew bool) []feeditem {
if len(items) == 0 {
return items
}
@@ -200,7 +200,7 @@ CACHE_ITEMS:
if cf.LastCheck.IsZero() || ci.PublishedDate.After(cf.LastCheck) {
log.Debug("Newer than last check, including.")
- item.addReason("newer")
+ item.addReason("time")
app(item, ci, nil)
continue
}
@@ -233,6 +233,11 @@ CACHE_ITEMS:
}
if oldItem.Link == ci.Link {
+ if alwaysNew {
+ log.Debugf("Link matches, but `always-new`.")
+ item.addReason("always-new")
+ continue
+ }
log.Debugf("Link matches, updating: %s", oldItem)
item.addReason("link (upd)")
app(item, ci, &idx)
@@ -242,6 +247,7 @@ CACHE_ITEMS:
}
log.Debugf("No match found, inserting.")
+ item.addReason("new")
app(item, ci, nil)
}