summaryrefslogtreecommitdiffstats
path: root/feed
diff options
context:
space:
mode:
authorsiddharth ravikumar <s@ricketyspace.net>2026-04-01 21:08:21 -0400
committersiddharth ravikumar <s@ricketyspace.net>2026-04-01 21:08:21 -0400
commit364180427f2d69da9814e170e241715ed328ff40 (patch)
treeaaf880e9a648a332b592885d07c738b4034063d4 /feed
parentf8fcf16d891f92554978778bcffbdfa6745d9366 (diff)
feed: update `youtubeUnmarshal`
Set ShorMedia attribute on Entries.
Diffstat (limited to 'feed')
-rw-r--r--feed/feed.go3
-rw-r--r--feed/feed_test.go20
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")
+ }
}
}