diff --git a/analyst.go b/analyst.go index c26a75f..e455d9a 100644 --- a/analyst.go +++ b/analyst.go @@ -29,7 +29,14 @@ func generateAnalysis(fp *gofeed.Parser, writer Writer) { continue } for _, item := range parsedFeed.Items { + seen, seen_today, summary := isSeenArticle(item, "#analyst") + if seen { + continue + } articleTitles = append(articleTitles, item.Title+": "+item.Description) // add also description for better context + if !seen_today { + addToSeenTable(item.Link+"#analyst", summary) + } } } diff --git a/feeds_writer.go b/feeds_writer.go index 71209a6..fff4ae2 100644 --- a/feeds_writer.go +++ b/feeds_writer.go @@ -162,7 +162,7 @@ func generateFeedItems(w Writer, feed *gofeed.Feed, rss RSS) string { var items string for _, item := range feed.Items { - seen, seen_today, summary := isSeenArticle(item) + seen, seen_today, summary := isSeenArticle(item, "") if seen { continue } @@ -266,11 +266,11 @@ func getInstapaperLink(link string) string { return "[](https://www.instapaper.com/hello2?url=" + link + ")" } -func isSeenArticle(item *gofeed.Item) (seen bool, today bool, summaryText string) { +func isSeenArticle(item *gofeed.Item, postfix string) (seen bool, today bool, summaryText string) { var url string var date string var summary sql.NullString - err := db.QueryRow("SELECT url, date, summary FROM seen WHERE url=?", item.Link).Scan(&url, &date, &summary) + err := db.QueryRow("SELECT url, date, summary FROM seen WHERE url=?", item.Link+postfix).Scan(&url, &date, &summary) if err != nil && err != sql.ErrNoRows { fmt.Println(err) return false, false, ""