aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/feed.go
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2021-02-21 14:18:14 +0100
committerRené 'Necoro' Neumann <necoro@necoro.eu>2021-02-21 14:18:14 +0100
commit75278be9b54e96d69668214de968a4517f4ab6e6 (patch)
tree245d24219defcfab217bfbddc2c7fc79f2a3a9a2 /internal/feed/feed.go
parentce42a79ef59d2cad6a3d1cee628d86b4a76517ae (diff)
downloadfeed2imap-go-75278be9b54e96d69668214de968a4517f4ab6e6.tar.gz
feed2imap-go-75278be9b54e96d69668214de968a4517f4ab6e6.tar.bz2
feed2imap-go-75278be9b54e96d69668214de968a4517f4ab6e6.zip
Slight restructuring
Diffstat (limited to 'internal/feed/feed.go')
-rw-r--r--internal/feed/feed.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/internal/feed/feed.go b/internal/feed/feed.go
index 4e84443..de28ef8 100644
--- a/internal/feed/feed.go
+++ b/internal/feed/feed.go
@@ -1,6 +1,7 @@
package feed
import (
+ "fmt"
"strings"
"time"
@@ -58,3 +59,14 @@ func (feed *Feed) MarkSuccess() {
feed.cached.Commit()
}
}
+
+func Create(parsedFeed *config.Feed, global config.GlobalOptions) (*Feed, error) {
+ var itemFilter *filter.Filter
+ var err error
+ if parsedFeed.ItemFilter != "" {
+ if itemFilter, err = filter.New(parsedFeed.ItemFilter); err != nil {
+ return nil, fmt.Errorf("Feed %s: Parsing item-filter: %w", parsedFeed.Name, err)
+ }
+ }
+ return &Feed{Feed: parsedFeed, Global: global, filter: itemFilter}, nil
+}