From ed6ae7e0d277c53ac77b5f17327355ca76275556 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Tue, 29 Jan 2019 20:01:36 -0800 Subject: Use preferably the published date for Atom feeds YouTube feeds use the published date for the original creation date. --- reader/atom/atom.go | 8 ++++++-- reader/atom/parser_test.go | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'reader') diff --git a/reader/atom/atom.go b/reader/atom/atom.go index 28d4e15..30297e5 100644 --- a/reader/atom/atom.go +++ b/reader/atom/atom.go @@ -130,9 +130,13 @@ func getRelationURL(links []atomLink, relation string) string { } func getDate(a *atomEntry) time.Time { - dateText := a.Updated + // Note: The published date represents the original creation date for YouTube feeds. + // Example: + // 2019-01-26T08:02:28+00:00 + // 2019-01-29T07:27:27+00:00 + dateText := a.Published if dateText == "" { - dateText = a.Published + dateText = a.Updated } if dateText != "" { diff --git a/reader/atom/parser_test.go b/reader/atom/parser_test.go index 7339bec..8742359 100644 --- a/reader/atom/parser_test.go +++ b/reader/atom/parser_test.go @@ -546,7 +546,7 @@ func TestParseEntryWithPublishedAndUpdated(t *testing.T) { t.Error(err) } - if !feed.Entries[0].Date.Equal(time.Date(2003, time.December, 13, 18, 30, 2, 0, time.UTC)) { + if !feed.Entries[0].Date.Equal(time.Date(2002, time.November, 12, 18, 30, 2, 0, time.UTC)) { t.Errorf("Incorrect entry date, got: %v", feed.Entries[0].Date) } } -- cgit v1.2.3