diff options
Diffstat (limited to 'vendor/github.com/gorilla/feeds/rss.go')
-rw-r--r-- | vendor/github.com/gorilla/feeds/rss.go | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/vendor/github.com/gorilla/feeds/rss.go b/vendor/github.com/gorilla/feeds/rss.go index 8c227a8b7..9326cef8b 100644 --- a/vendor/github.com/gorilla/feeds/rss.go +++ b/vendor/github.com/gorilla/feeds/rss.go @@ -74,9 +74,9 @@ type RssItem struct { Category string `xml:"category,omitempty"` Comments string `xml:"comments,omitempty"` Enclosure *RssEnclosure - Guid string `xml:"guid,omitempty"` // Id used - PubDate string `xml:"pubDate,omitempty"` // created or updated - Source string `xml:"source,omitempty"` + Guid *RssGuid // Id used + PubDate string `xml:"pubDate,omitempty"` // created or updated + Source string `xml:"source,omitempty"` } type RssEnclosure struct { @@ -87,6 +87,13 @@ type RssEnclosure struct { Type string `xml:"type,attr"` } +type RssGuid struct { + //RSS 2.0 <guid isPermaLink="true">http://inessential.com/2002/09/01.php#a2</guid> + XMLName xml.Name `xml:"guid"` + Id string `xml:",chardata"` + IsPermaLink string `xml:"isPermaLink,attr,omitempty"` // "true", "false", or an empty string +} + type Rss struct { *Feed } @@ -96,9 +103,11 @@ func newRssItem(i *Item) *RssItem { item := &RssItem{ Title: i.Title, Description: i.Description, - Guid: i.Id, PubDate: anyTimeFormat(time.RFC1123Z, i.Created, i.Updated), } + if i.Id != "" { + item.Guid = &RssGuid{Id: i.Id, IsPermaLink: i.IsPermaLink} + } if i.Link != nil { item.Link = i.Link.Href } |