photoprism/pkg/txt/gen_stopwords.go
Michael Mayer 52ab802731 Pkg: Apply "golangci-lint" recommendations to txt/... packages #5330
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-21 16:16:42 +01:00

60 lines
877 B
Go

//go:build ignore
// This generates stopwords.go by running "go generate"
package main
import (
"bufio"
"io"
"os"
"text/template"
)
func main() {
file, err := os.Open("./resources/stopwords.txt")
if err != nil {
panic(err)
}
defer file.Close()
reader := bufio.NewReader(file)
words := []string{}
for {
line, _, err := reader.ReadLine()
if err == io.EOF {
break
}
words = append(words, string(line))
}
f, err := os.Create("stopwords.go")
if err != nil {
panic(err)
}
defer f.Close()
packageTemplate.Execute(f, struct {
Words []string
}{
Words: words,
})
}
var packageTemplate = template.Must(template.New("").Parse(`
package txt
// Generated code, do not edit.
// StopWords contains a list of stopwords for full-text indexing.
var StopWords = map[string]bool{
{{- range .Words }}
{{ printf "%q" . }}: true,
{{- end }}
}`))