feeds.go: fixes
This commit is contained in:
		
							parent
							
								
									fa1fe08d7f
								
							
						
					
					
						commit
						3bc16b4c5b
					
				
					 7 changed files with 101 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -2,6 +2,7 @@ package modules
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"bufio"
 | 
			
		||||
	"flag"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"time"
 | 
			
		||||
| 
						 | 
				
			
			@ -19,8 +20,8 @@ func init() {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func feedsRun() {
 | 
			
		||||
	time.Sleep(1 * time.Minute)
 | 
			
		||||
	file, err := os.Open(feedsFeeds)
 | 
			
		||||
	time.Sleep(15 * time.Second)
 | 
			
		||||
	file, err := os.Open(*feedsFeeds)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		xlog.Fatal(err.Error())
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -38,12 +39,26 @@ func feedsHandleMessage(m *Message) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func feedsPoll(url string) {
 | 
			
		||||
	defer func() {
 | 
			
		||||
		if err := recover(); err != nil {
 | 
			
		||||
			xlog.Error(fmt.Sprintf("%v", err))
 | 
			
		||||
		}
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
	last := time.Now()
 | 
			
		||||
	for {
 | 
			
		||||
		fp := gofeed.NewParser()
 | 
			
		||||
		feed, _ := fp.ParseURL(url)
 | 
			
		||||
		if feed.Items == nil {
 | 
			
		||||
			xlog.Error("Feed %s appears to lack any items", feed.Title)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		for _, item := range feed.Items {
 | 
			
		||||
			if item.UpdatedParsed.Unix() > last.Unix() {
 | 
			
		||||
			if item.PublishedParsed == nil {
 | 
			
		||||
				xlog.Error("Feed %s appears to lack timestamps", feed.Title)
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
			if item.PublishedParsed.Unix() > last.Unix() {
 | 
			
		||||
				SayCh <- fmt.Sprintf("%s\n[FEEDS] %s : %s - %s\n", *feedsChannel, feed.Title, item.Title, item.Link)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue