feed dump
This commit is contained in:
parent
cbc75047b8
commit
e78c028d20
7 changed files with 161 additions and 82 deletions
|
|
@ -57,29 +57,27 @@ type rssEnclosure struct {
|
|||
}
|
||||
|
||||
func ParseRSS(r io.Reader) (*Feed, error) {
|
||||
f := rssFeed{}
|
||||
srcfeed := rssFeed{}
|
||||
|
||||
decoder := xml.NewDecoder(r)
|
||||
decoder.DefaultSpace = "rss"
|
||||
if err := decoder.Decode(&f); err != nil {
|
||||
if err := decoder.Decode(&srcfeed); err != nil {
|
||||
fmt.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
feed := &Feed{
|
||||
Title: f.Title,
|
||||
SiteURL: f.Link,
|
||||
dstfeed := &Feed{
|
||||
Title: srcfeed.Title,
|
||||
SiteURL: srcfeed.Link,
|
||||
}
|
||||
for _, e := range f.Items {
|
||||
date, _ := dateParse(first(e.DublinCoreDate, e.PubDate))
|
||||
|
||||
feed.Items = append(feed.Items, Item{
|
||||
GUID: first(e.GUID, e.Link),
|
||||
Date: date,
|
||||
URL: e.Link,
|
||||
Title: e.Title,
|
||||
Content: e.Description,
|
||||
for _, srcitem := range srcfeed.Items {
|
||||
dstfeed.Items = append(dstfeed.Items, Item{
|
||||
GUID: firstNonEmpty(srcitem.GUID, srcitem.Link),
|
||||
Date: dateParse(firstNonEmpty(srcitem.DublinCoreDate, srcitem.PubDate)),
|
||||
URL: srcitem.Link,
|
||||
Title: srcitem.Title,
|
||||
Content: srcitem.Description,
|
||||
})
|
||||
}
|
||||
return feed, nil
|
||||
return dstfeed, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue