From 3cd999ac2ed914eb2d0c76e31261b4416a84d9ca Mon Sep 17 00:00:00 2001 From: Evgeny Kuznetsov Date: Wed, 5 Feb 2020 20:27:25 +0300 Subject: don't panic when feed image can't be parsed --- main.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 5f990bb..febb3e0 100644 --- a/main.go +++ b/main.go @@ -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 { -- cgit v1.2.3