diff options
author | Evgeny Kuznetsov <evgeny@kuznetsov.md> | 2020-01-29 09:56:21 +0300 |
---|---|---|
committer | Evgeny Kuznetsov <evgeny@kuznetsov.md> | 2020-01-29 09:56:21 +0300 |
commit | c300ef4b6c0911f3ca6631300e78f3db16ba06eb (patch) | |
tree | 4c900020ba34c6a2f4aa750d9f12fe1c7b4f2562 | |
parent | 0dfb7a7190b5039177627abc0cb8eed48313378b (diff) | |
download | radiorus-rss-c300ef4b6c0911f3ca6631300e78f3db16ba06eb.tar.gz radiorus-rss-c300ef4b6c0911f3ca6631300e78f3db16ba06eb.zip |
don't make feed title a link
-rw-r--r-- | main.go | 8 | ||||
-rw-r--r-- | main_test.go | 19 | ||||
-rw-r--r-- | testdata/TestFeed.golden | 2 | ||||
-rw-r--r-- | testdata/TestServedFeed.golden | 2 |
4 files changed, 28 insertions, 3 deletions
@@ -125,7 +125,7 @@ func populateFeed(feed *feeds.Feed, page []byte) (err error) { return fmt.Errorf("bad programme page") } - feed.Title = string(titleMatch[1]) + feed.Title = stripLink(string(titleMatch[1])) programImage := programImageRe.FindSubmatch(page) feed.Image = &feeds.Image{ Link: feed.Link.Href, @@ -255,3 +255,9 @@ func episodeID(url string) string { } return url } + +// stripLink strips string of <a> tags +func stripLink(s string) string { + re := regexp.MustCompile(`</?a.*?>`) + return re.ReplaceAllString(s, "") +} diff --git a/main_test.go b/main_test.go index b3d1b7f..ce58e2a 100644 --- a/main_test.go +++ b/main_test.go @@ -226,3 +226,22 @@ func TestEpisodeID(t *testing.T) { } } } + +func TestStripLink(t *testing.T) { + type testval struct { + raw string + ret string + } + + var tests = []testval{ + {`<a href="/brand/57083">"Аэростат"</a>`, `"Аэростат"`}, + } + + for _, test := range tests { + got := stripLink(test.raw) + want := test.ret + if got != want { + t.Error("want:", want, "got:", got) + } + } +} diff --git a/testdata/TestFeed.golden b/testdata/TestFeed.golden index 2c7cd62..6024fef 100644 --- a/testdata/TestFeed.golden +++ b/testdata/TestFeed.golden @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> - <title><a href="/brand/57083">"Аэростат"</a></title> + <title>"Аэростат"</title> <link>http://www.radiorus.ru/brand/57083/episodes</link> <description>Вы не можете быть до конца уверены, что на этот раз вам откроет БГ – будь то взгляд на группу Doors или столь глобальные вопросы, как: что такое новое время, как делится история мира в соответствии с древней индийской космогонией, стоит ли ждать ветра перемен, ждет ли нас духовное возрождение, где граница между прошлым и будущим. А может и вовсе не стоит искать ответы на эти вопросы? Потому что это не те вопросы, а потому и ответы не приведут вас к истине...

Прислушаемся к Борису Гребенщикову, который с улыбкой говорит всем нам "Здравствуйте!" и находит самые простые ответы...</description> <image> diff --git a/testdata/TestServedFeed.golden b/testdata/TestServedFeed.golden index b28029a..ed11e3a 100644 --- a/testdata/TestServedFeed.golden +++ b/testdata/TestServedFeed.golden @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> - <title><a href="/brand/57083">"Аэростат"</a></title> + <title>"Аэростат"</title> <link>**localhost**/brand/57083/episodes</link> <description>Вы не можете быть до конца уверены, что на этот раз вам откроет БГ – будь то взгляд на группу Doors или столь глобальные вопросы, как: что такое новое время, как делится история мира в соответствии с древней индийской космогонией, стоит ли ждать ветра перемен, ждет ли нас духовное возрождение, где граница между прошлым и будущим. А может и вовсе не стоит искать ответы на эти вопросы? Потому что это не те вопросы, а потому и ответы не приведут вас к истине...

Прислушаемся к Борису Гребенщикову, который с улыбкой говорит всем нам "Здравствуйте!" и находит самые простые ответы...</description> <image> |