Bladeren bron

Add workaround to handle some invalid dates

Frédéric Guillot 5 jaren geleden
bovenliggende
commit
e60e0ba3c4
3 gewijzigde bestanden met toevoegingen van 12 en 8 verwijderingen
  1. 8 8
      reader/atom/atom_03.go
  2. 2 0
      reader/date/parser.go
  3. 2 0
      reader/date/parser_test.go

+ 8 - 8
reader/atom/atom_03.go

@@ -144,10 +144,10 @@ func (a *atom03Entry) entryHash() string {
 }
 
 type atom03Text struct {
-	Type string `xml:"type,attr"`
-	Mode string `xml:"mode,attr"`
-	Data string `xml:",chardata"`
-	XML  string `xml:",innerxml"`
+	Type     string `xml:"type,attr"`
+	Mode     string `xml:"mode,attr"`
+	CharData string `xml:",chardata"`
+	InnerXML string `xml:",innerxml"`
 }
 
 func (a *atom03Text) String() string {
@@ -155,16 +155,16 @@ func (a *atom03Text) String() string {
 
 	switch {
 	case a.Mode == "xml":
-		content = a.XML
+		content = a.InnerXML
 	case a.Mode == "escaped":
-		content = a.Data
+		content = a.CharData
 	case a.Mode == "base64":
-		b, err := base64.StdEncoding.DecodeString(a.Data)
+		b, err := base64.StdEncoding.DecodeString(a.CharData)
 		if err == nil {
 			content = string(b)
 		}
 	default:
-		content = a.Data
+		content = a.CharData
 	}
 
 	if a.Type != "text/html" {

+ 2 - 0
reader/date/parser.go

@@ -293,6 +293,8 @@ var invalidLocalizedDateReplacer = strings.NewReplacer(
 	"mai ", "May ",
 	"jui ", "Jun ",
 	"juin ", "June ",
+	"Thurs,", "Thu,",
+	"Thur,", "Thu,",
 )
 
 // Parse parses a given date string using a large

+ 2 - 0
reader/date/parser_test.go

@@ -178,6 +178,8 @@ func TestParseWeirdDateFormat(t *testing.T) {
 		"2018-10-23 04:07:42 +00:00",
 		"5 August, 2019",
 		"mar., 01 déc. 2020 16:11:02 +0000",
+		"Thurs, 15 Oct 2020 00:00:39 +0000",
+		"Thur, 19 Nov 2020 00:00:39 +0000",
 	}
 
 	for _, date := range dates {