aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/reader/processor/processor.go21
-rw-r--r--internal/template/functions.go8
2 files changed, 9 insertions, 20 deletions
diff --git a/internal/reader/processor/processor.go b/internal/reader/processor/processor.go
index 8a5bdf56..9068d4c2 100644
--- a/internal/reader/processor/processor.go
+++ b/internal/reader/processor/processor.go
@@ -8,6 +8,7 @@ import (
"fmt"
"log/slog"
"regexp"
+ "slices"
"strconv"
"time"
@@ -115,13 +116,9 @@ func ProcessFeedEntries(store *storage.Storage, feed *model.Feed, user *model.Us
func isBlockedEntry(feed *model.Feed, entry *model.Entry) bool {
if feed.BlocklistRules != "" {
- var containsBlockedTag bool = false
- for _, tag := range entry.Tags {
- if matchField(feed.BlocklistRules, tag) {
- containsBlockedTag = true
- break
- }
- }
+ containsBlockedTag := slices.ContainsFunc(entry.Tags, func(tag string) bool {
+ return matchField(feed.BlocklistRules, tag)
+ })
if matchField(feed.BlocklistRules, entry.URL) || matchField(feed.BlocklistRules, entry.Title) || matchField(feed.BlocklistRules, entry.Author) || containsBlockedTag {
slog.Debug("Blocking entry based on rule",
@@ -140,13 +137,9 @@ func isBlockedEntry(feed *model.Feed, entry *model.Entry) bool {
func isAllowedEntry(feed *model.Feed, entry *model.Entry) bool {
if feed.KeeplistRules != "" {
- var containsAllowedTag bool = false
- for _, tag := range entry.Tags {
- if matchField(feed.KeeplistRules, tag) {
- containsAllowedTag = true
- break
- }
- }
+ containsAllowedTag := slices.ContainsFunc(entry.Tags, func(tag string) bool {
+ return matchField(feed.KeeplistRules, tag)
+ })
if matchField(feed.KeeplistRules, entry.URL) || matchField(feed.KeeplistRules, entry.Title) || matchField(feed.KeeplistRules, entry.Author) || containsAllowedTag {
slog.Debug("Allow entry based on rule",
diff --git a/internal/template/functions.go b/internal/template/functions.go
index ef3ffd37..2db98420 100644
--- a/internal/template/functions.go
+++ b/internal/template/functions.go
@@ -8,6 +8,7 @@ import (
"html/template"
"math"
"net/mail"
+ "slices"
"strings"
"time"
@@ -72,12 +73,7 @@ func (f *funcMap) Map() template.FuncMap {
return link
},
"mustBeProxyfied": func(mediaType string) bool {
- for _, t := range config.Opts.ProxyMediaTypes() {
- if t == mediaType {
- return true
- }
- }
- return false
+ return slices.Contains(config.Opts.ProxyMediaTypes(), mediaType)
},
"domain": func(websiteURL string) string {
return urllib.Domain(websiteURL)