mirror of
https://github.com/glanceapp/glance.git
synced 2025-06-21 18:31:24 +02:00
Allow RSS feed URLs to be specified by env variables
This commit is contained in:
parent
889b034a79
commit
8d2639b349
@ -139,7 +139,7 @@ func shortenFeedDescriptionLen(description string, maxLen int) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type rssFeedRequest struct {
|
type rssFeedRequest struct {
|
||||||
Url string `yaml:"url"`
|
URL optionalEnvField `yaml:"url"`
|
||||||
Title string `yaml:"title"`
|
Title string `yaml:"title"`
|
||||||
HideCategories bool `yaml:"hide-categories"`
|
HideCategories bool `yaml:"hide-categories"`
|
||||||
HideDescription bool `yaml:"hide-description"`
|
HideDescription bool `yaml:"hide-description"`
|
||||||
@ -161,7 +161,7 @@ func (f rssFeedItemList) sortByNewest() rssFeedItemList {
|
|||||||
var feedParser = gofeed.NewParser()
|
var feedParser = gofeed.NewParser()
|
||||||
|
|
||||||
func fetchItemsFromRSSFeedTask(request rssFeedRequest) ([]rssFeedItem, error) {
|
func fetchItemsFromRSSFeedTask(request rssFeedRequest) ([]rssFeedItem, error) {
|
||||||
req, err := http.NewRequest("GET", request.Url, nil)
|
req, err := http.NewRequest("GET", request.URL.String(), nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -177,7 +177,7 @@ func fetchItemsFromRSSFeedTask(request rssFeedRequest) ([]rssFeedItem, error) {
|
|||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
||||||
if resp.StatusCode != http.StatusOK {
|
if resp.StatusCode != http.StatusOK {
|
||||||
return nil, fmt.Errorf("unexpected status code %d from %s", resp.StatusCode, request.Url)
|
return nil, fmt.Errorf("unexpected status code %d from %s", resp.StatusCode, request.URL)
|
||||||
}
|
}
|
||||||
|
|
||||||
body, err := io.ReadAll(resp.Body)
|
body, err := io.ReadAll(resp.Body)
|
||||||
@ -206,7 +206,7 @@ func fetchItemsFromRSSFeedTask(request rssFeedRequest) ([]rssFeedItem, error) {
|
|||||||
} else {
|
} else {
|
||||||
parsedUrl, err := url.Parse(feed.Link)
|
parsedUrl, err := url.Parse(feed.Link)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
parsedUrl, err = url.Parse(request.Url)
|
parsedUrl, err = url.Parse(request.URL.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@ -326,7 +326,7 @@ func fetchItemsFromRSSFeeds(requests []rssFeedRequest) (rssFeedItemList, error)
|
|||||||
for i := range feeds {
|
for i := range feeds {
|
||||||
if errs[i] != nil {
|
if errs[i] != nil {
|
||||||
failed++
|
failed++
|
||||||
slog.Error("Failed to get RSS feed", "url", requests[i].Url, "error", errs[i])
|
slog.Error("Failed to get RSS feed", "url", requests[i].URL, "error", errs[i])
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user