Pārlūkot izejas kodu

Use preferably the published date for Atom feeds

YouTube feeds use the published date for the original creation date.
Frédéric Guillot 7 gadi atpakaļ
vecāks
revīzija
ed6ae7e0d2
2 mainītis faili ar 7 papildinājumiem un 3 dzēšanām
  1. 6 2
      reader/atom/atom.go
  2. 1 1
      reader/atom/parser_test.go

+ 6 - 2
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:
+	// <published>2019-01-26T08:02:28+00:00</published>
+	// <updated>2019-01-29T07:27:27+00:00</updated>
+	dateText := a.Published
 	if dateText == "" {
-		dateText = a.Published
+		dateText = a.Updated
 	}
 
 	if dateText != "" {

+ 1 - 1
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)
 	}
 }