1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-01 17:38:37 +00:00

Take RSS TTL field into consideration to schedule next check date

This commit is contained in:
Frédéric Guillot 2023-10-20 19:39:32 -07:00
parent ed35555d74
commit 5e6c054345
5 changed files with 105 additions and 11 deletions

View file

@ -33,10 +33,28 @@ type rssFeed struct {
PubDate string `xml:"channel>pubDate"`
ManagingEditor string `xml:"channel>managingEditor"`
Webmaster string `xml:"channel>webMaster"`
TimeToLive rssTTL `xml:"channel>ttl"`
Items []rssItem `xml:"channel>item"`
PodcastFeedElement
}
type rssTTL struct {
Data string `xml:",chardata"`
}
func (r *rssTTL) Value() int {
if r.Data == "" {
return 0
}
value, err := strconv.Atoi(r.Data)
if err != nil {
return 0
}
return value
}
func (r *rssFeed) Transform(baseURL string) *model.Feed {
var err error
@ -60,6 +78,7 @@ func (r *rssFeed) Transform(baseURL string) *model.Feed {
}
feed.IconURL = strings.TrimSpace(r.ImageURL)
feed.TTL = r.TimeToLive.Value()
for _, item := range r.Items {
entry := item.Transform()