Files
BigChef/utils/file.go
2025-07-20 11:20:19 +02:00

36 lines
766 B
Go

package utils
import (
"fmt"
"os"
"path/filepath"
"strings"
"git.site.quack-lab.dev/dave/cylogger"
)
func CleanPath(path string) string {
log := cylogger.Default.WithPrefix(fmt.Sprintf("CleanPath: %q", path))
log.Trace("Start")
path = filepath.Clean(path)
path = strings.ReplaceAll(path, "\\", "/")
log.Trace("Done: %q", path)
return path
}
func ToAbs(path string) string {
log := cylogger.Default.WithPrefix(fmt.Sprintf("ToAbs: %q", path))
log.Trace("Start")
if filepath.IsAbs(path) {
log.Trace("Path is already absolute: %q", path)
return CleanPath(path)
}
cwd, err := os.Getwd()
if err != nil {
log.Error("Error getting cwd: %v", err)
return CleanPath(path)
}
log.Trace("Cwd: %q", cwd)
return CleanPath(filepath.Join(cwd, path))
}