diff options
| author | siddharth ravikumar <s@ricketyspace.net> | 2026-04-01 21:08:21 -0400 |
|---|---|---|
| committer | siddharth ravikumar <s@ricketyspace.net> | 2026-04-01 21:08:21 -0400 |
| commit | 364180427f2d69da9814e170e241715ed328ff40 (patch) | |
| tree | aaf880e9a648a332b592885d07c738b4034063d4 /feed | |
| parent | f8fcf16d891f92554978778bcffbdfa6745d9366 (diff) | |
feed: update `youtubeUnmarshal`
Set ShorMedia attribute on Entries.
Diffstat (limited to 'feed')
| -rw-r--r-- | feed/feed.go | 3 | ||||
| -rw-r--r-- | feed/feed_test.go | 20 |
2 files changed, 20 insertions, 3 deletions
diff --git a/feed/feed.go b/feed/feed.go index 7becc17..75143c5 100644 --- a/feed/feed.go +++ b/feed/feed.go @@ -342,6 +342,9 @@ func youtubeUnmarshal(bs []byte) ([]schema.Entry, error) { PubTime: t, Link: e.Link.Url, } + if strings.Contains(e.Link.Url, "shorts") { + entry.ShortMedia = true + } entries = append(entries, entry) } return entries, nil diff --git a/feed/feed_test.go b/feed/feed_test.go index 545d3bd..1057ffa 100644 --- a/feed/feed_test.go +++ b/feed/feed_test.go @@ -56,13 +56,19 @@ func TestUnmarshal(t *testing.T) { "podcast": "testdata/pc-daringfireball.xml", "youtube": "testdata/yt-mkbhd.xml", } - for schema, feed := range testFeeds { - bs, err := file.ReadFile(feed) + for schema, feedUrl := range testFeeds { + var ( + bs []byte + err error + feed *Feed + hasMedia bool + ) + bs, err = file.ReadFile(feedUrl) if err != nil { t.Errorf("read feed: %v", err) return } - feed := new(Feed) + feed = new(Feed) feed.Schema = schema if err = feed.unmarshal(bs); err != nil { t.Errorf("feed unmarshal: %v", err) @@ -82,6 +88,11 @@ func TestUnmarshal(t *testing.T) { t.Errorf("entry desc: %v", entry.Desc) return } + if slices.Contains([]string{"youtube"}, feed.Schema) { + if entry.ShortMedia { + hasMedia = true + } + } if entry.PubTime.Unix() < 994702392 { t.Errorf("entry time: %v", entry.PubTime) return @@ -92,5 +103,8 @@ func TestUnmarshal(t *testing.T) { return } } + if slices.Contains([]string{"youtube"}, feed.Schema) && !hasMedia { + t.Errorf("feed has no media entries") + } } } |
