parent
eb356c3339
commit
c0c88502c4
|
|
@ -67,7 +67,7 @@ func (f *Feed) pull() error {
|
||||||
|
|
||||||
itemTSs := []*time.Time{}
|
itemTSs := []*time.Time{}
|
||||||
for _, i := range gofeed.Items {
|
for _, i := range gofeed.Items {
|
||||||
item, err := newItem(i, f.ContentFilter, f.Key)
|
item, err := newItem(i, f.ContentFilter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
continue
|
continue
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ func TestRSSFeedPull(t *testing.T) {
|
||||||
t.Errorf("updated is wrong: %v", f)
|
t.Errorf("updated is wrong: %v", f)
|
||||||
}
|
}
|
||||||
|
|
||||||
keys, err := config.Values().DB.List([]string{nsItems, f.Key})
|
keys, err := config.Values().DB.List([]string{nsItems})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
@ -133,7 +133,7 @@ func TestRSSFeedPull(t *testing.T) {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
log.SetOutput(os.Stderr)
|
log.SetOutput(os.Stderr)
|
||||||
keysB, err := config.Values().DB.List([]string{nsItems, f.Key})
|
keysB, err := config.Values().DB.List([]string{nsItems})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
@ -143,7 +143,6 @@ func TestRSSFeedPull(t *testing.T) {
|
||||||
|
|
||||||
i := &Item{
|
i := &Item{
|
||||||
Link: keys[0],
|
Link: keys[0],
|
||||||
FeedKey: f.Key,
|
|
||||||
}
|
}
|
||||||
if err := i.load(); err != nil {
|
if err := i.load(); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
|
@ -151,7 +150,7 @@ func TestRSSFeedPull(t *testing.T) {
|
||||||
if *i == (Item{}) {
|
if *i == (Item{}) {
|
||||||
t.Fatal(i)
|
t.Fatal(i)
|
||||||
}
|
}
|
||||||
if i.Link == "" || i.Title == "" || i.FeedKey == "" || i.Content == "" {
|
if i.Link == "" || i.Title == "" || i.Content == "" {
|
||||||
t.Fatal(i)
|
t.Fatal(i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
10
rss/item.go
10
rss/item.go
|
|
@ -21,16 +21,14 @@ type Item struct {
|
||||||
Link string
|
Link string
|
||||||
Content string
|
Content string
|
||||||
TS time.Time
|
TS time.Time
|
||||||
FeedKey string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func newItem(i *gofeed.Item, contentFilter, feedKey string) (*Item, error) {
|
func newItem(i *gofeed.Item, contentFilter string) (*Item, error) {
|
||||||
item := &Item{
|
item := &Item{
|
||||||
Title: i.Title,
|
Title: i.Title,
|
||||||
Link: i.Link,
|
Link: i.Link,
|
||||||
Content: i.Content,
|
Content: i.Content,
|
||||||
TS: latestTSPtr(i.UpdatedParsed, i.PublishedParsed),
|
TS: latestTSPtr(i.UpdatedParsed, i.PublishedParsed),
|
||||||
FeedKey: feedKey,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if item.Content == "" {
|
if item.Content == "" {
|
||||||
|
|
@ -76,15 +74,15 @@ func (i *Item) save() error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return db.Set(i.Link, b, nsItems, i.FeedKey)
|
return db.Set(i.Link, b, nsItems)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Item) load() error {
|
func (i *Item) load() error {
|
||||||
if i.Link == "" || i.FeedKey == "" {
|
if i.Link == "" {
|
||||||
return errors.New("cannot load nil item")
|
return errors.New("cannot load nil item")
|
||||||
}
|
}
|
||||||
db := config.Values().DB
|
db := config.Values().DB
|
||||||
b, err := db.Get(i.Link, nsItems, i.FeedKey)
|
b, err := db.Get(i.Link, nsItems)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,12 +30,12 @@ func TestRSSItemNewEncodeDecode(t *testing.T) {
|
||||||
gofeed.Items[0].Content = ""
|
gofeed.Items[0].Content = ""
|
||||||
gofeed.Items[0].Description = ""
|
gofeed.Items[0].Description = ""
|
||||||
|
|
||||||
item, err := newItem(gofeed.Items[0], ".*", "key")
|
item, err := newItem(gofeed.Items[0], ".*")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
itemB, err := newItem(gofeed.Items[0], "Podcast", "key")
|
itemB, err := newItem(gofeed.Items[0], "Podcast")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
@ -60,7 +60,6 @@ func TestRSSItemNewEncodeDecode(t *testing.T) {
|
||||||
|
|
||||||
itemC := &Item{
|
itemC := &Item{
|
||||||
Link: item.Link,
|
Link: item.Link,
|
||||||
FeedKey: item.FeedKey,
|
|
||||||
}
|
}
|
||||||
if err := itemC.load(); err != nil {
|
if err := itemC.load(); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
|
@ -76,7 +75,6 @@ func TestRSSItemNewEncodeDecode(t *testing.T) {
|
||||||
|
|
||||||
itemE := &Item{
|
itemE := &Item{
|
||||||
Link: "nothing",
|
Link: "nothing",
|
||||||
FeedKey: item.FeedKey,
|
|
||||||
}
|
}
|
||||||
if err := itemE.load(); err == nil {
|
if err := itemE.load(); err == nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ func TestRSSNewRunUpdate(t *testing.T) {
|
||||||
}
|
}
|
||||||
log.SetOutput(os.Stderr)
|
log.SetOutput(os.Stderr)
|
||||||
|
|
||||||
keys, err := config.Values().DB.List([]string{nsItems, f.Key})
|
keys, err := config.Values().DB.List([]string{nsItems})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue