diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2021-02-21 14:18:14 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2021-02-21 14:18:14 +0100 |
commit | 75278be9b54e96d69668214de968a4517f4ab6e6 (patch) | |
tree | 245d24219defcfab217bfbddc2c7fc79f2a3a9a2 /internal/feed/feed.go | |
parent | ce42a79ef59d2cad6a3d1cee628d86b4a76517ae (diff) | |
download | feed2imap-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.go | 12 |
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 +} |