summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2020-09-19 00:38:49 -0400
committerrsiddharth <s@ricketyspace.net>2020-09-19 00:38:49 -0400
commit70a486c2556de741ce00de15711012b2ec533aac (patch)
tree54b53b85f7d7c98c57c978498d707a75d4efd3c7
parent303c2de46bc52dc8f90ab31048ddbf51016c64e5 (diff)
cedar.go: add processNews
-rw-r--r--cedar.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/cedar.go b/cedar.go
index 3346fb7..81b1ab2 100644
--- a/cedar.go
+++ b/cedar.go
@@ -140,4 +140,39 @@ func (entry Entry) email() error {
return nil
}
+func processNews() error {
+ newsXML, err := newsFeed()
+ if err != nil {
+ return err
+ }
+
+ news, err := parseFeed(newsXML)
+ if err != nil {
+ return err
+ }
+
+ cache, err := cacheFor("news")
+ if err != nil {
+ return err
+ }
+
+ if len(news.Entry) < 1 {
+ return nil
+ }
+
+ for i := 0; i < len(news.Entry); i++ {
+ if news.Entry[i].in(cache) {
+ continue
+ }
+
+ err := news.Entry[i].email()
+ if err == nil {
+ cache.add(news.Entry[i])
+ }
+ }
+ cache.save()
+
+ return nil
+}
+
func main() {}