diff options
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -119,12 +119,7 @@ func populateFeed(feed *feeds.Feed, page []byte) (err error) { } feed.Title = stripLink(string(title)) - programImage := programImageRe.FindSubmatch(page) - feed.Image = &feeds.Image{ - Link: feed.Link.Href, - Url: string(programImage[2]), - Title: string(programImage[4]), - } + addFeedImage(page, feed) episodes := findEpisodes(page) urlPrefix := episodeURLPrefix(feed.Link.Href) @@ -154,6 +149,17 @@ func populateFeed(feed *feeds.Feed, page []byte) (err error) { return } +func addFeedImage(page []byte, feed *feeds.Feed) { + programImage, err := parse(page, programImageRe, 4) + if err == nil { + feed.Image = &feeds.Image{ + Link: feed.Link.Href, + Url: string(programImage[1]), + Title: string(programImage[3]), + } + } +} + func parse(src []byte, re *regexp.Regexp, n int) (out [][]byte, err error) { match := re.FindSubmatch(src) if len(match) != n+1 { |