photoprism/pkg/fs/case.go
Michael Mayer 68ba289d6c CLI: Add "photoprism show config/formats" subcommands
Replaces "photoprism config", which could only display
current configuration values. Codecs and file formats
have been refactored along the way.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-04-12 13:28:28 +02:00

28 lines
629 B
Go

package fs
import (
"fmt"
"os"
"path/filepath"
)
// CaseInsensitive tests if a storage path is case-insensitive.
func CaseInsensitive(storagePath string) (result bool, err error) {
tmpName := filepath.Join(storagePath, "caseTest.tmp")
if err := os.WriteFile(tmpName, []byte("{}"), 0666); err != nil {
return false, fmt.Errorf("%s not writable", filepath.Base(storagePath))
}
defer os.Remove(tmpName)
result = FileExists(filepath.Join(storagePath, "CASETEST.TMP"))
return result, err
}
// IgnoreCase enables the case-insensitive mode.
func IgnoreCase() {
ignoreCase = true
Formats = Extensions.Formats(true)
}