diff --git a/feed/feed.go b/feed/feed.go index a51d7d5..ba23e9c 100644 --- a/feed/feed.go +++ b/feed/feed.go @@ -53,6 +53,7 @@ type SitePage struct { Title string Root *html.Node Errors []error + ErrStr string } func fetchPage(url string) (string, error) { @@ -84,6 +85,7 @@ func parseTime(timestr string) (time.Time, error) { "2006-01-02 15:04", "2006-01-02T15:04:05", "2006-01-02T15:04", + // "2006-02-01 15:04", } var pagetime time.Time var err error @@ -178,9 +180,9 @@ func (p *SitePage) Parse() ([]*FeedItem, error) { for _, perr := range p.Errors { errorStrs = append(errorStrs, perr.Error()) } - err = errors.New(strings.Join(errorStrs, "\n")) + p.ErrStr = errors.New(strings.Join(errorStrs, "\n")).Error() } - return items, err + return items, nil } func NewSitePage(url string) (*SitePage, error) { @@ -224,6 +226,7 @@ func NewFeedInfo(name, base_url, desc, author string, page_urls...string) (*Feed info.Errors[url] = err.Error() } else { info.Items = append(info.Items, pageItems...) + info.Errors[url] = page.ErrStr } } return &info, nil diff --git a/feed/feed_test.go b/feed/feed_test.go index 5127518..5ae555b 100644 --- a/feed/feed_test.go +++ b/feed/feed_test.go @@ -45,6 +45,11 @@ func TestTimeParsing(t *testing.T) { `
hello world
`, "2006-01-02T15:04", }, + { + "YYYY-DD-MM HH:MM", + `
hello world
`, + "2006-02-01 15:04", + }, } for _, tt := range tests {