aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/parse.go
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2020-04-23 23:48:09 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2020-04-23 23:48:09 +0200
commit8467dbb9bd9960191f16def3ba43dcbde0fdda14 (patch)
tree5af73797e16dfee0a49de72e122c570053988e51 /internal/feed/parse.go
parent6911562cf4214531343b7509afe77e38b28a0801 (diff)
downloadfeed2imap-go-8467dbb9bd9960191f16def3ba43dcbde0fdda14.tar.gz
feed2imap-go-8467dbb9bd9960191f16def3ba43dcbde0fdda14.tar.bz2
feed2imap-go-8467dbb9bd9960191f16def3ba43dcbde0fdda14.zip
Notify about the number of successfully fetched feeds.
Diffstat (limited to '')
-rw-r--r--internal/feed/parse.go24
1 files changed, 19 insertions, 5 deletions
diff --git a/internal/feed/parse.go b/internal/feed/parse.go
index 22d16f2..35a7596 100644
--- a/internal/feed/parse.go
+++ b/internal/feed/parse.go
@@ -32,22 +32,36 @@ func parseFeed(feed *Feed) error {
return nil
}
-func handleFeed(feed *Feed, wg *sync.WaitGroup) {
- defer wg.Done()
+func handleFeed(feed *Feed, group *sync.WaitGroup, success chan<- bool) {
+ defer group.Done()
log.Printf("Fetching %s from %s", feed.Name, feed.Url)
- if err := parseFeed(feed); err != nil {
+ err := parseFeed(feed)
+ if err != nil {
log.Error(err)
}
+ success <- err == nil
}
-func Parse(feeds Feeds) {
+func Parse(feeds Feeds) int {
var wg sync.WaitGroup
wg.Add(len(feeds))
+ success := make(chan bool, len(feeds))
+
for _, feed := range feeds {
- go handleFeed(feed, &wg)
+ go handleFeed(feed, &wg, success)
}
wg.Wait()
+ close(success)
+
+ ctr := 0
+ for s := range success {
+ if s {
+ ctr++
+ }
+ }
+
+ return ctr
}
eferences.René 'Necoro' Neumann2-6/+6 2010-04-15Add notify-python dependency for the version checkerRené 'Necoro' Neumann1-1/+1 2010-04-15Make the database type choice an info messageRené 'Necoro' Neumann2-7/+13 2010-04-15Renamed es_ES to esRené 'Necoro' Neumann1-0/+0 2010-04-15Fixed dependancy of the new_version plugin from "dev-util/git" to "dev-vcs/gi...Clement Bourgeois1-1/+1 2010-04-14Make some useless info messages being debug statementsRené 'Necoro' Neumann2-34/+17 2010-04-14Improve the C modulesRené 'Necoro' Neumann3-37/+52 2010-04-14Small modifications made to the French translation (typos, grammar).Clement Bourgeois1-69/+69 2010-04-14Fixed the unicode support and stuff ... and also made eix faster :)René 'Necoro' Neumann1-20/+22 2010-04-14Disable debug messages by defaultRené 'Necoro' Neumann1-1/+1 2010-04-13Better eix error inheritance and handlingRené 'Necoro' Neumann1-2/+9 2010-04-13Fix the handling of FilterSets. Fixes bug #558887.René 'Necoro' Neumann2-56/+64 2010-04-12Updated newsRené 'Necoro' Neumann1-0/+1 2010-04-13Added my name to translators list.Clement Bourgeois1-0/+1