Refactor fetch functions to use new FullData.Insert{Feed,Page} funcs

This commit is contained in:
nytpu
2021-03-18 10:33:58 -06:00
parent 0441fc9349
commit a3a427b9ee
4 changed files with 10 additions and 39 deletions
+7 -9
View File
@@ -29,7 +29,7 @@ import (
// fetchGemini will make a request for a gemini resource
func fetchGemini(remote *url.URL) (*gemini.Response, error) {
client := &gemini.Client{}
resp, err := client.Get(context.Background(), remoteURL.String())
resp, err := client.Get(context.Background(), remote.String())
if err != nil {
return nil, err
}
@@ -94,7 +94,7 @@ func geminiFeed(data *core.FullData, remote *url.URL, title string) error {
feed.Items = append(feed.Items, item)
}
}
InsertFeed(data, &feed, remote)
data.InsertFeed(&feed, remote)
return nil
case "text/xml",
"application/rss+xml",
@@ -109,7 +109,7 @@ func geminiFeed(data *core.FullData, remote *url.URL, title string) error {
if err != nil {
return err
}
InsertFeed(data, feed, remote)
data.InsertFeed(feed, remote)
return nil
default:
return fmt.Errorf("Cannot interpret %s as a feed", resp.Meta)
@@ -119,7 +119,7 @@ func geminiFeed(data *core.FullData, remote *url.URL, title string) error {
// geminiPage will fetch and insert a new core.Page into a core.FullData given
// a gemini url (or update if it's preexisting)
func geminiPage(data *core.FullData, remote *url.URL, title string) error {
resp, err := fetchGemini(p.Link)
resp, err := fetchGemini(remote)
if err != nil {
return err
}
@@ -135,11 +135,9 @@ func geminiPage(data *core.FullData, remote *url.URL, title string) error {
return err
}
newHash := fmt.Sprintf("%x", h.Sum(nil))
if newHash != p.Hash {
page.Hash = newHash
page.Updated = time.Now()
}
page.Hash = newHash
page.Updated = time.Now()
InsertPage(data, &page, remote)
data.InsertPage(&page, remote)
return nil
}