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