Improved rss thumbnail coverage

pull/893/head
NicolasNewman 2025-12-03 10:21:53 +07:00
parent 784bf53425
commit c6f3be3e7f
1 changed files with 24 additions and 5 deletions

@ -388,15 +388,34 @@ func (widget *rssWidget) fetchItemsFromFeedTask(request rssFeedRequest) ([]rssFe
} }
func findThumbnailInItemExtensions(item *gofeed.Item) string { func findThumbnailInItemExtensions(item *gofeed.Item) string {
media, ok := item.Extensions["media"] media, ok := item.Extensions["media"]
if !ok { if !ok {
return "" enclosures := item.Enclosures
} if len(enclosures) == 0 {
return ""
}
return recursiveFindThumbnailInEnclosures(enclosures)
}
return recursiveFindThumbnailInExtensions(media) return recursiveFindThumbnailInExtensions(media)
} }
func recursiveFindThumbnailInEnclosures(enclosures []*gofeed.Enclosure) string {
url := ""
for _, enclosure := range enclosures {
switch enclosure.Type {
case "image/generic":
url = enclosure.URL
case "image/jpeg", "image/png", "image/gif":
return enclosure.URL
}
}
return url
}
func recursiveFindThumbnailInExtensions(extensions map[string][]gofeedext.Extension) string { func recursiveFindThumbnailInExtensions(extensions map[string][]gofeedext.Extension) string {
for _, exts := range extensions { for _, exts := range extensions {
for _, ext := range exts { for _, ext := range exts {