Add title to feed, toRSS(feed, items)
parent
88502651de
commit
dbeca16e07
|
|
@ -15,6 +15,7 @@ import (
|
|||
|
||||
type Feed struct {
|
||||
Updated time.Time
|
||||
Title string
|
||||
Items []string
|
||||
ItemFilter string
|
||||
ContentFilter string
|
||||
|
|
@ -23,7 +24,8 @@ type Feed struct {
|
|||
}
|
||||
|
||||
func (feed *Feed) String() string {
|
||||
return fmt.Sprintf("Updated: %v, Items: %v, ItemFilter: %q, ContentFilter: %q, Link: %v, Interval: %s",
|
||||
return fmt.Sprintf("Title: %s, Updated: %v, Items: %v, ItemFilter: %q, ContentFilter: %q, Link: %v, Interval: %s",
|
||||
feed.Title,
|
||||
feed.Updated.Local(),
|
||||
feed.Items,
|
||||
feed.ItemFilter,
|
||||
|
|
@ -103,6 +105,7 @@ func (feed *Feed) fromGofeed(gofeed *gofeed.Feed) ([]*Item, error) {
|
|||
return nil, err
|
||||
}
|
||||
feed.Updated = *updated
|
||||
feed.Title = gofeed.Title
|
||||
return newitems, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
package rss
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
|
||||
"github.com/gorilla/feeds"
|
||||
)
|
||||
|
||||
func ToRSS(feed *Feed, items []*Item) (string, error) {
|
||||
root := &feeds.Feed{
|
||||
Title: feed.Title,
|
||||
Link: &feeds.Link{Href: feed.Link},
|
||||
Description: fmt.Sprintf("/%s/ /%s/", feed.ItemFilter, feed.ContentFilter),
|
||||
Created: feed.Updated,
|
||||
}
|
||||
root.Items = make([]*feeds.Item, len(items))
|
||||
for i := range items {
|
||||
v := &url.Values{}
|
||||
v.Add("url", feed.ID()+"."+items[i].ID())
|
||||
root.Items[i] = &feeds.Item{
|
||||
Title: items[i].Name,
|
||||
Link: &feeds.Link{Href: "/api/feed/item?" + v.Encode()},
|
||||
Description: items[i].Content,
|
||||
Created: items[i].TS,
|
||||
}
|
||||
}
|
||||
return root.ToRss()
|
||||
}
|
||||
Loading…
Reference in New Issue