summaryrefslogtreecommitdiffstats
path: root/feed
diff options
context:
space:
mode:
authorsiddharth ravikumar <s@ricketyspace.net>2026-04-01 20:43:19 -0400
committersiddharth ravikumar <s@ricketyspace.net>2026-04-01 20:43:19 -0400
commite513a7c567e5d8eab7cead3b6905f4106be91fba (patch)
tree9b2a5cf25921223d25743c8c870e352c141283f1 /feed
parent352d32119b0940d1590cdefef05d44dd75e94342 (diff)
feed: update `youtubeUnmarshal`
Add handling to slurp description into the entry.
Diffstat (limited to 'feed')
-rw-r--r--feed/feed.go1
-rw-r--r--feed/feed_test.go7
l---------feed/testdata/yt-mkbhd.xml1
3 files changed, 9 insertions, 0 deletions
diff --git a/feed/feed.go b/feed/feed.go
index faacabe..7becc17 100644
--- a/feed/feed.go
+++ b/feed/feed.go
@@ -338,6 +338,7 @@ func youtubeUnmarshal(bs []byte) ([]schema.Entry, error) {
entry := schema.Entry{
Id: e.Id,
Title: e.Title,
+ Desc: e.Desc,
PubTime: t,
Link: e.Link.Url,
}
diff --git a/feed/feed_test.go b/feed/feed_test.go
index c700a71..545d3bd 100644
--- a/feed/feed_test.go
+++ b/feed/feed_test.go
@@ -5,6 +5,7 @@ package feed
import (
"net/url"
+ "slices"
"testing"
"ricketyspace.net/fern/file"
@@ -53,6 +54,7 @@ func TestPodcastUnmarshal(t *testing.T) {
func TestUnmarshal(t *testing.T) {
testFeeds := map[string]string{
"podcast": "testdata/pc-daringfireball.xml",
+ "youtube": "testdata/yt-mkbhd.xml",
}
for schema, feed := range testFeeds {
bs, err := file.ReadFile(feed)
@@ -75,6 +77,11 @@ func TestUnmarshal(t *testing.T) {
t.Errorf("entry title: %v", entry.Title)
return
}
+ if slices.Contains([]string{"youtube"}, feed.Schema) &&
+ len(entry.Desc) < 1 {
+ t.Errorf("entry desc: %v", entry.Desc)
+ return
+ }
if entry.PubTime.Unix() < 994702392 {
t.Errorf("entry time: %v", entry.PubTime)
return
diff --git a/feed/testdata/yt-mkbhd.xml b/feed/testdata/yt-mkbhd.xml
new file mode 120000
index 0000000..da2d75e
--- /dev/null
+++ b/feed/testdata/yt-mkbhd.xml
@@ -0,0 +1 @@
+../../schema/testdata/yt-mkbhd.xml \ No newline at end of file