photoprism/internal/classify/label.go
Michael Mayer e9874d6e0c Backend: Compile labels into source #160
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-01-09 01:21:09 +01:00

30 lines
890 B
Go

package classify
import (
"strings"
)
// Label represents a MediaFile label (automatically created).
type Label struct {
Name string `json:"label"` // Label name
Source string `json:"source"` // Where was this label found / detected?
Uncertainty int `json:"uncertainty"` // >= 0
Priority int `json:"priority"` // >= 0
Categories []string `json:"categories"` // List of similar labels
}
// LocationLabel returns a new labels for a location and expects name, uncertainty and priority as arguments.
func LocationLabel(name string, uncertainty int, priority int) Label {
if index := strings.Index(name, " / "); index > 1 {
name = name[:index]
}
if index := strings.Index(name, " - "); index > 1 {
name = name[:index]
}
label := Label{Name: name, Source: "location", Uncertainty: uncertainty, Priority: priority}
return label
}