Compare commits

...

2 Commits

Author SHA1 Message Date
681d9e38bc
Add quotation-of and read-of to simplify these
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-05 21:54:40 +02:00
0078532d78
cleanup errors 2021-06-05 21:51:33 +02:00
2 changed files with 8 additions and 13 deletions

View File

@ -5,6 +5,7 @@ import (
"bytes"
"encoding/hex"
"encoding/json"
"fmt"
"io"
"io/ioutil"
"log"
@ -132,17 +133,13 @@ func FeedItems(fetcher FetcherFunc, fetchURL, contentType string, body io.Reader
items = append(items, r)
}
} else if strings.HasPrefix(contentType, "application/json") { // json feed?
} else if strings.HasPrefix(contentType, "application/json") && strings.HasPrefix(contentType, "application/feed+json") { // json feed?
var feed jsonfeed.Feed
dec := json.NewDecoder(body)
err := dec.Decode(&feed)
err := json.NewDecoder(body).Decode(&feed)
if err != nil {
log.Printf("Error while parsing json feed: %s\n", err)
return items, err
return items, fmt.Errorf("could not parse as jsonfeed: %v", err)
}
log.Printf("%#v\n", feed)
author := &microsub.Card{}
author.Type = "card"
author.Name = feed.Author.Name
@ -180,13 +177,11 @@ func FeedItems(fetcher FetcherFunc, fetchURL, contentType string, body io.Reader
} else if strings.HasPrefix(contentType, "text/xml") || strings.HasPrefix(contentType, "application/rss+xml") || strings.HasPrefix(contentType, "application/atom+xml") || strings.HasPrefix(contentType, "application/xml") {
body, err := ioutil.ReadAll(body)
if err != nil {
log.Printf("Error while parsing rss/atom feed: %s\n", err)
return items, err
return items, fmt.Errorf("could not read feed for rss/atom: %v", err)
}
feed, err := rss.Parse(body)
if err != nil {
log.Printf("Error while parsing rss/atom feed: %s\n", err)
return items, err
return items, fmt.Errorf("while parsing rss/atom feed: %v", err)
}
baseURL, _ := url.Parse(fetchURL)
@ -222,7 +217,7 @@ func FeedItems(fetcher FetcherFunc, fetchURL, contentType string, body io.Reader
items = append(items, item)
}
} else {
log.Printf("Unknown Content-Type: %s\n", contentType)
return items, fmt.Errorf("unknown content-type %s for url %s", contentType, fetchURL)
}
for i, v := range items {

View File

@ -163,7 +163,7 @@ func simplifyToItem(itemType string, item map[string][]interface{}, author micro
for k, v := range item {
switch k {
case "bookmark-of", "like-of", "repost-of", "in-reply-to":
case "bookmark-of", "like-of", "repost-of", "in-reply-to", "quotation-of", "read-of":
u, withItem, refItem := simplifyRefItem(k, v)
if resultPtr := itemPtr(&feedItem, k); resultPtr != nil {