diff options
-rw-r--r-- | main.go | 10 | ||||
-rw-r--r-- | main_test.go | 4 | ||||
-rw-r--r-- | testdata/TestFeed.golden | 2 |
3 files changed, 12 insertions, 4 deletions
@@ -154,10 +154,14 @@ func populateFeed(feed *feeds.Feed, page []byte) { func describeFeed(feed *feeds.Feed, wg *sync.WaitGroup) { defer wg.Done() programAboutUrl := strings.TrimSuffix(feed.Link.Href, "episodes") + "about" - programAboutPage := getPage(programAboutUrl) - programAbout := programAboutRe.FindSubmatch(programAboutPage)[1] + page := getPage(programAboutUrl) + feed.Description = processFeedDesc(page) +} + +func processFeedDesc(page []byte) string { + programAbout := programAboutRe.FindSubmatch(page)[1] re := regexp.MustCompile(`<(.+?)?>`) - feed.Description = string(re.ReplaceAll(programAbout, []byte(``))) + return string(re.ReplaceAll(programAbout, []byte(``))) } func describeEpisodes(feed *feeds.Feed) { diff --git a/main_test.go b/main_test.go index 6f2ea11..e7aa3cc 100644 --- a/main_test.go +++ b/main_test.go @@ -47,6 +47,10 @@ func TestFeed(t *testing.T) { populateFeed(feed, page) + page = helperLoadBytes(t, "about") + page = cleanText(page) + feed.Description = processFeedDesc(page) + actual := createFeed(feed) golden := filepath.Join("testdata", t.Name()+".golden") if *update { diff --git a/testdata/TestFeed.golden b/testdata/TestFeed.golden index bf67d93..2c7cd62 100644 --- a/testdata/TestFeed.golden +++ b/testdata/TestFeed.golden @@ -2,7 +2,7 @@ <channel> <title><a href="/brand/57083">"Аэростат"</a></title> <link>http://www.radiorus.ru/brand/57083/episodes</link> - <description></description> + <description>Вы не можете быть до конца уверены, что на этот раз вам откроет БГ – будь то взгляд на группу Doors или столь глобальные вопросы, как: что такое новое время, как делится история мира в соответствии с древней индийской космогонией, стоит ли ждать ветра перемен, ждет ли нас духовное возрождение, где граница между прошлым и будущим. А может и вовсе не стоит искать ответы на эти вопросы? Потому что это не те вопросы, а потому и ответы не приведут вас к истине...

Прислушаемся к Борису Гребенщикову, который с улыбкой говорит всем нам "Здравствуйте!" и находит самые простые ответы...</description> <image> <url>https://cdn-st4.rtr-vesti.ru/vh/pictures/xw/124/617/1.jpg</url> <title>"Аэростат"</title> |