Files
mmaschedule/helpers.go
T
2024-06-30 15:08:49 -05:00

37 lines
704 B
Go

package main
import (
"bytes"
"encoding/json"
"hash/fnv"
"regexp"
"strings"
"github.com/PuerkitoBio/goquery"
)
func TextContent(doc *goquery.Selection, selector string) string {
return CleanupString(doc.Find(selector).First().Text())
}
var whitespace *regexp.Regexp = regexp.MustCompile(`\s+`)
func CleanupString(s string) string {
return strings.TrimSpace(whitespace.ReplaceAllString(s, " "))
}
func DocumentFromBytes(b []byte) *goquery.Selection {
doc, _ := goquery.NewDocumentFromReader(bytes.NewReader(b))
return doc.Find("html").First()
}
func HashJSON(v any) uint32 {
out, err := json.Marshal(v)
if err != nil {
return 0
}
h := fnv.New32a()
h.Write(out)
return h.Sum32()
}