photoprism/pkg/fs/canonical.go
Michael Mayer 14c89022d3 Improve browsing by original file and folder name #260
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-31 14:42:41 +02:00

34 lines
641 B
Go

package fs
import (
"strings"
"time"
)
// NonCanonical returns true if the file basename is not canonical.
func NonCanonical(basename string) bool {
if len(basename) != 24 {
return true
}
if strings.Count(basename, "_") != 2 {
return true
}
if strings.ContainsAny(basename, "-~!@#$%^&*()+=<>?,.") {
return true
}
return false
}
// CanonicalName returns a canonical name based on time and CRC32 checksum.
func CanonicalName(date time.Time, checksum string) string {
if len(checksum) != 8 {
checksum = "ERROR000"
} else {
checksum = strings.ToUpper(checksum)
}
return date.Format("20060102_150405_") + checksum
}