aboutsummaryrefslogtreecommitdiff
path: root/internal
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
parentce42a79ef59d2cad6a3d1cee628d86b4a76517ae (diff)
downloadfeed2imap-go-75278be9b54e96d69668214de968a4517f4ab6e6.tar.gz
feed2imap-go-75278be9b54e96d69668214de968a4517f4ab6e6.tar.bz2
feed2imap-go-75278be9b54e96d69668214de968a4517f4ab6e6.zip
Slight restructuring
Diffstat (limited to 'internal')
-rw-r--r--internal/feed/feed.go12
-rw-r--r--internal/feed/state.go13
2 files changed, 16 insertions, 9 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
+}
diff --git a/internal/feed/state.go b/internal/feed/state.go
index 41d8751..364616f 100644
--- a/internal/feed/state.go
+++ b/internal/feed/state.go
@@ -2,12 +2,10 @@ package feed
import (
"encoding/json"
- "fmt"
"sync"
"github.com/mmcdole/gofeed"
- "github.com/Necoro/feed2imap-go/internal/feed/filter"
"github.com/Necoro/feed2imap-go/pkg/config"
"github.com/Necoro/feed2imap-go/pkg/log"
)
@@ -163,14 +161,11 @@ func NewState(cfg *config.Config) (*State, error) {
}
for name, parsedFeed := range cfg.Feeds {
- 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)
- }
+ feed, err := Create(parsedFeed, cfg.GlobalOptions)
+ if err != nil {
+ return nil, err
}
- state.feeds[name] = &Feed{Feed: parsedFeed, Global: cfg.GlobalOptions, filter: itemFilter}
+ state.feeds[name] = feed
}
return &state, nil
5cfcda1e740e007f750f242bea33047920d&follow=1'>added ebuild window for Qt-Frontendnecoro4-2/+229 2007-04-16added preferences for Qt-Frontendnecoro9-279/+710 2007-04-13Improved masking display and made most of the Qt-Frontend worknecoro7-35/+334 2007-04-10Some more functionality for the Qt-Frontend (complete emerge)necoro8-217/+347 2007-04-07Some more functionality for the Qt-Frontendnecoro11-88/+463 2007-04-07Added Qt-Terminalnecoro4-4/+213 2007-04-06First qt draftnecoro6-1/+796 2007-04-04showed masked packages unmasked by the user similar to stable marked testing ...necoro5-13/+40 2007-03-31changed changelognecoro1-1/+2 2007-03-31Some small changes for etcproposals 1.1necoro1-2/+2 2007-03-31Some small changes for etcproposals 1.1necoro2-3/+3 2007-03-31Some small changes for etcproposals 1.1necoro1-6/+13 2007-03-31Allowed Plugins to have a menunecoro7-201/+315 2007-03-15Added etc-proposals pluginnecoro7-28/+121 2007-03-10Added USE_EXPAND-supportnecoro5-11/+63 2007-03-10Added plugin-data to about-dialognecoro3-197/+264