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:
parent
ed35555d74
commit
5e6c054345
5 changed files with 105 additions and 11 deletions
|
@ -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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue