summaryrefslogtreecommitdiff
path: root/internal/feeds/rss.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/feeds/rss.go')
-rw-r--r--internal/feeds/rss.go19
1 files changed, 8 insertions, 11 deletions
diff --git a/internal/feeds/rss.go b/internal/feeds/rss.go
index f3dd39c..4386c57 100644
--- a/internal/feeds/rss.go
+++ b/internal/feeds/rss.go
@@ -3,7 +3,6 @@ package feeds
import (
"fmt"
"io"
- "log"
"time"
"dim13.org/rss"
@@ -31,19 +30,17 @@ func (n news) String() string {
return s
}
-func (f Feed) Watch(w io.Writer) {
+func (f Feed) watch(w io.Writer) {
ticker := time.NewTicker(f.Every)
defer ticker.Stop()
for t := range ticker.C {
r, err := rss.Fetch(f.URL)
- if err != nil {
- log.Println(f.Name, err)
- return
- }
- last := t.Add(-f.Every)
- for _, i := range r.Channel.Items {
- if i.PubDate.After(last) {
- fmt.Fprint(w, news{f, i})
+ if err == nil {
+ last := t.Add(-f.Every)
+ for _, i := range r.Channel.Items {
+ if i.PubDate.After(last) {
+ fmt.Fprint(w, news{f, i})
+ }
}
}
}
@@ -51,6 +48,6 @@ func (f Feed) Watch(w io.Writer) {
func Watch(w io.Writer, feeds []Feed) {
for _, feed := range feeds {
- go feed.Watch(w)
+ go feed.watch(w)
}
}