36 lines
841 B
Go
36 lines
841 B
Go
package utils
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
// FixPath converts \ and \\ to /
|
|
func FixPath(path string) string {
|
|
a := filepath.Clean(path)
|
|
b := strings.Replace(a, `\`, "/", -1)
|
|
c := strings.Replace(b, `\\`, "/", -1)
|
|
return c
|
|
}
|
|
|
|
// FixName converts [/ to _](1), [ to -](2) and [, to __](3)
|
|
func FixName(path string) string {
|
|
a := FixPath(path)
|
|
b := strings.Replace(a, "/", "_", -1) // / to _
|
|
c := strings.Replace(b, " ", "-", -1) // {space} to -
|
|
return strings.Replace(c, ",", "__", -1) // , to __
|
|
}
|
|
|
|
// GetCurrentDir gets the directory where the application was run
|
|
func GetCurrentDir() (string, error) {
|
|
d, err := filepath.Abs(filepath.Dir(os.Args[0]))
|
|
return d, err
|
|
}
|
|
|
|
// Exists returns true when a folder/file exists
|
|
func Exists(path string) bool {
|
|
_, err := os.Stat(path)
|
|
return !os.IsNotExist(err)
|
|
}
|