Initial commit.

This commit is contained in:
2023-05-23 19:13:26 -07:00
commit f12e7d4f51
3 changed files with 104 additions and 0 deletions

55
feed/feed.go Normal file
View File

@@ -0,0 +1,55 @@
package feed
import (
"time"
"github.com/mmcdole/gofeed"
)
type Entry struct {
Title string
Link string
Published time.Time
Categories []string
}
func EntryFromFeed(item *gofeed.Item) *Entry {
t := time.Now()
if item.UpdatedParsed != nil {
t = *item.UpdatedParsed
}
e := &Entry{
Title: item.Title,
Link: item.Link,
Published: t,
Categories: item.Categories,
}
return e
}
type Feed struct {
Title string
Link string
Updated time.Time
Entries []*Entry
}
func NewFromFeed(feed *gofeed.Feed) *Feed {
t := time.Now()
if feed.UpdatedParsed != nil {
t = *feed.UpdatedParsed
}
f := &Feed{
Title: feed.Title,
Link: feed.Link,
Updated: t,
}
for _, item := range feed.Items {
f.Entries = append(f.Entries, EntryFromFeed(item))
}
return f
}