photoprism/pkg/txt/gen.go
Michael Mayer f8a45b14d9 Backend: Move reusable packages to pkg/
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-12 14:00:56 +01:00

58 lines
889 B
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(`// Code generated by go generate; DO NOT EDIT.
package txt
// Stopwords contains a list of stopwords for full-text indexing.
var Stopwords = map[string]bool{
{{- range .Words }}
{{ printf "%q" . }}: true,
{{- end }}
}`))