mirror of
https://github.com/nkanaev/yarr.git
synced 2025-05-24 00:33:14 +00:00
refactoring
This commit is contained in:
parent
05f5785660
commit
bff7476b58
@ -75,6 +75,16 @@ func Parse(r io.Reader) (*Feed, error) {
|
||||
return feed, err
|
||||
}
|
||||
|
||||
func ParseAndFix(r io.Reader, baseURL string) (*Feed, error) {
|
||||
feed, err := Parse(r)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
feed.TranslateURLs(baseURL)
|
||||
feed.SetMissingDatesTo(time.Now())
|
||||
return feed, nil
|
||||
}
|
||||
|
||||
func (feed *Feed) cleanup() {
|
||||
feed.Title = strings.TrimSpace(feed.Title)
|
||||
feed.SiteURL = strings.TrimSpace(feed.SiteURL)
|
||||
|
@ -9,7 +9,6 @@ import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/nkanaev/yarr/src/content/scraper"
|
||||
"github.com/nkanaev/yarr/src/parser"
|
||||
@ -50,10 +49,8 @@ func DiscoverFeed(candidateUrl string) (*DiscoverResult, error) {
|
||||
}
|
||||
|
||||
// Try to feed into parser
|
||||
feed, err := parser.Parse(bytes.NewReader(content))
|
||||
feed, err := parser.ParseAndFix(bytes.NewReader(content), candidateUrl)
|
||||
if err == nil {
|
||||
feed.TranslateURLs(candidateUrl)
|
||||
feed.SetMissingDatesTo(time.Now())
|
||||
result.Feed = feed
|
||||
result.FeedLink = candidateUrl
|
||||
return result, nil
|
||||
@ -192,7 +189,7 @@ func listItems(f storage.Feed, db *storage.Storage) ([]storage.Item, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
feed, err := parser.Parse(body)
|
||||
feed, err := parser.ParseAndFix(body, f.FeedLink)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -202,8 +199,6 @@ func listItems(f storage.Feed, db *storage.Storage) ([]storage.Item, error) {
|
||||
if lmod != "" || etag != "" {
|
||||
db.SetHTTPState(f.Id, lmod, etag)
|
||||
}
|
||||
feed.TranslateURLs(f.FeedLink)
|
||||
feed.SetMissingDatesTo(time.Now())
|
||||
return ConvertItems(feed.Items, f), nil
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user